Make closure the first argument
Moved process logic no a separated module
A big step towards simplicity
Clean up
Refactoring onSpawn => onStart, exit => stop
Moved safetyTimeout to the instance implementation
Even more cleanup