Update before splitting into separate packages
Split into separate modules
Robustness, fix data races, move to passing err rather than relying on panic
Handle more errs, move args onto JobInfo
WIP: Move execution code out to broker