   # Set the default wrapper class, which is overridden by `as: `
   wrapper: (klass) ->
     @wrapper_class = klass
+  
+  # Return the current worker
+  worker: ->
+    Worker.current
 
 
 # Extend the blessed methods with the given ones, so that

  # Alias for `Worker.mixin`
  mixin: (mixins) ->
    Worker.mixin mixins


# The worker class is the context under which runner functions are run.

  
  # We're done!
  finish: (result) ->
    Worker.finish_callback?.apply this
    num_workers--
    @queue.finish @key
    if result? && !@emitted
