@jcredding why not make the "do work" block a callback as well?  This would be purely for consistency sake.  Something like:

```ruby
worker = Worker.new(@queue)
worker.on_work = proc{ |work_item| do_work(work_item) }
worker.on_waiting = ...
```