the nailgun instances are managed outside of the pants process tho - the only state you really need to pass around in the engine is the ProcessManager identity (or even infer that based on the task type). then you instantiate a new client around the metadata you get from ProcessManager and treat it similar to running a java subprocess.