Ensure events are subscribed before jobs save

The changes fix the case where the worker calls the done() function too quickly and the assigning node doesn't get the 'complete' (or other) event because it has not yet subscribed.