     console.log {method}, {args}
     @scrub method, args, (scrubbed) =>
       messageString = JSON.stringify(scrubbed)
-      console.log "Sending", {messageString}
-      @ready => @websocket.send messageString
+      @ready => @send scrubbed
 
   scrub: (method, args, callback) ->
     scrubber = new Scrubber @localStore

  tell:(options, callback) ->
    @handleRequest options.method, [options, callback]



  { Scrubber, Store } = Bongo.dnodeProtocol

  [NOTREADY, READY, CLOSED] = [0,1,3]

  constructor: (options)->
    super
    { @kiteName, @correlationName, @kiteKey } = options
    @localStore   = new Store
    @remoteStore  = new Store
    @autoReconnect = true
    @readyState = NOTREADY
    @token = ""
    @addr = ""
    @initBackoff options  if @autoReconnect
    @connect()

  connect:->
    if @addr
    then @connectDirectly()
    else @getKiteAddr()

  bound: Bongo.bound

  connectDirectly:->
    @ws = new WebSocket "ws://#{@addr}/sock"
    @ws.onopen    = @bound 'onOpen'
    @ws.onclose   = @bound 'onClose'
    @ws.onmessage = @bound 'onMessage'
    @ws.onerror   = @bound 'onError'

  getKiteAddr:()->
    requestData =
