       subscription = { context: context, callback: fn }
       (
         attach: -> that.channels[channel].push subscription; @
-        detach: -> Mediator.rm that, channel, subscription.callback; @
+        detach: -> Mediator._rm that, channel, subscription.callback; @
       ).attach()
 
   # ## Unsubscribe from a topic

  unsubscribe: (ch, cb) ->
    switch typeof ch
      when "string"
        Mediator.rm @,ch,cb if typeof cb is "function"
        Mediator.rm @,ch    if typeof cb is "undefined"
      when "function"  then Mediator.rm @,id,ch for id of @channels
      when "undefined" then Mediator.rm @,id    for id of @channels
    @

  # ## Publish an event

      obj.channels    = @channels
    @

  @_rm: (o, ch, cb, ctxt) ->
    o.channels[ch] = (s for s in o.channels[ch] when (
      if cb?
        s.callback isnt cb
      else if ctxt?
        s.context isnt ctxt
      else
        s.context isnt o
    ))
