Thanks for the pull request. Everything looks great but I want to be sure what's happening here... 

Looks like you realized that setup() on your IWorker object was being called twice? Good catch. 

Will you remove the commented-out code though and just remove the method entirely? Just re-push your branch after you do and I'll come merge this then. 

Shane