Created a JobCallback that allows logging and state updates.
Merge branch 'master' into phil_net40