Queued spawn

fixes #5

this uses `process-queue` in order to allow for some other business requirements I had such as being able to change the spawning function (for remote spawning), and logging the processes.