Fully Working Worker.
Could use better error handling (mainly return to idle on error and wait for next job)