anchor.diff:     (on-error
       :initarg :on-error
       :accessor on-error)
  +   (on-connection
  +    :initarg :on-connection
  +    :accessor on-connection)
      
      (state
       :accessor state)
  
positive.code:   (:default-initargs
     :event-base (default-event-base)
     :on-object nil
     :on-error nil))
  
  (defun remote-client/error (client exception)
    (close client)
  
negative.code: (defgeneric remote-client/write (client state))
  
  (defmethod remote-client/read ((client remote-client) (state (eql :accepting)))
    (listen (socket client)))
  
  (defmethod remote-client/write ((client remote-client) (state (eql :accepting)))
    (listen (socket client))
    (remove-fd-handlers (event-base client) (socket-os-fd client) :write t)
    (setf (state client) :connected)
    (call-callback (on-connection client) client))
  
  (defmethod remote-client/read ((client remote-client) (state (eql :connected)))
    (labels ((process-stream (stream)
  