Most (all?) executors share some code related to updating the PiInstance, checking results and process calls, checking completion, publishing related events, etc. It would be nice to refactor this code in some common trait, perhaps ProcessExecutor itself. This should make development of new executors easier.