The conceptual split between `BaseWorker` and `Worker` is very unclear to me.  @dlecocq, can you explain that?