Job/tasks worker

This fixes #431 and fixes #447.
What does this do? When do we call it? I'd like to see a comment.