     @forwardEvent @transport, 'close'
     @forwardEvent @transport, 'open'
 
-    @transport.connect() unless @isDisconnected
     @emit 'ready'
 
   tell: (rpcMethod, params, callback) ->
+
+    @connect()  unless @_connectAttempted or @isDisconnected
 
     unless @invalid
 


  @constructors = {}

  connect:    -> @transport?.connect()
  disconnect: ->
    @isDisconnected = yes
    @transport?.disconnect()


    KD.utils.wait 1000, =>
      @transport?.connect()
