Allow to calculate matrix elements for arbitrary subprocesses via the API
Likely, the best choice is to allow the user to instantiate an arbitrary number of independent Generator instances (or rather, some public class that exposes a subset). This generalises the current method which is to use free functions that operate on a singleton, thus constraining the use to a single subprocess (or a full complete process).