Simplify worker.work() by moving some functionalities to relevant methods.
Job status should be updated during job.perform().
Merge pull request #321 from selwin/cleanup-worker.work

Simplify worker.work() by moving some functionalities to relevant methods