   rejectClient:(routingKey, message)->
     console.log 'rejecting', routingKey
     return console.trace()  unless routingKey?
-    @bongo.respondToClient routingKey, {
+    @bongo.respondToClient routingKey,
       method    : 'error'
       arguments : [message: message ? 'Access denied']
       callbacks : {}
-    }
 
   setSecretNames:(routingKey, publishingName, subscribingName)->
     setSecretNamesEvent = "#{routingKey}.setSecretNames"

      exchange.publish routingKey, { event, contents }

  respondServiceUnavailable: (routingKey) ->
    @bongo.respondToClient routingKey, {
      method    : 'error'
      arguments : [message: 'Service unavailable!', code:503]
      callbacks : {}
    }

  join: do ->



  sendAuthJoin: (options) ->
    { socketId, serviceUniqueName, routingKey } = options
    options.callback = =>
      key = getWaitingAuthWhoKey options
      socketId ?= @waitingAuthWhos[key]
      delete @waitingAuthWhos[key]
      @addClient socketId, serviceUniqueName, routingKey
    options.method = 'auth.join'
    @sendAuthMessage options

  getWaitingAuthWhoKey = (o) ->
    "#{o.username}!#{o.correlationName}!#{o.serviceGenericName}"

  sendAuthWho: (options) ->
    options.method = 'auth.who'
    @waitingAuthWhos[getWaitingAuthWhoKey options] = options.socketId
    @sendAuthMessage options

  fetchReroutingExchange:(callback)->
