work in progress - preserving/sharing.  subprocess controller mostly works except for some serious locking issues i need to fix in the signalhandlers, which will require some restructuring