       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

      obj.channels    = @channels
    @

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

  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
      when "object"    then Mediator._rm @,id,null,ch for id of @channels
    @

  # ## Publish an event
