hash processes by name, not member

* allows for unhashable members, like RunFunc
tests for parallel

* pending test for bug on signals during startup
Invoke calls Background under the hood