         callback null, oldInflightOp for callback in @inflightCallbacks
 
       # Send the next op.
-      @flush()
+      @delayedFlush()
 
     else if msg.op
       # We got a new op from the server.


    @emit 'change', op

    # A timeout is used so if the user sends multiple ops at the same time, they'll be composed
    # & sent together.
    if !@flushTimeout?
        @flushTimeout = setTimeout @flush, @_flushDelay || 0
  

  # Only one op can be in-flight at a time, so if an op is already on its way then
  # this method does nothing.
  flush: =>
    @flushTimeout = null
    #console.log "CALLED FLUSH"

    return unless @connection.state == 'ok' and @inflightOp == null and @pendingOp != null
