anchor.diff:  
   ;; HTTP Peer
   (defclass http-peer (emitter)
  -  ((socket :initarg :socket
  +  ((server :initarg :server
  +           :accessor server)
  +   (socket :initarg :socket
              :accessor sock)
      (parser :accessor parser)))
   
   (defmethod initialize-instance :after ((peer http-peer) &key)
     (setf (parser peer) (make-instance 'request-parser :peer peer))
  +
  +  (add-listener peer "request"
  +                (lambda (request)
  +                  (emit (server peer) "request" request)))
   
     (add-listener peer "error"
                   (lambda (e)
  
positive.code: (defmethod initialize-instance :after ((server http-server) &key)
    (add-listener server "connection"
                  (lambda (client)
                    (make-instance 'http-peer :socket client))))
  
  ;; HTTP Parser
  ;;; Request line parser
  
negative.code: 
  ;;; Body dumper
  (deffsm body-fsm ()
    ((body :initform (vector) :accessor body)
     (remaining :initform 0 :accessor remaining)))
  
  (defstate body-fsm :initial (fsm event)
    (format t "TODO: Collect body mass upto ~S~%" (remaining fsm)))
  
  (defstate body-fsm :skip (fsm event)
    "Do nothing, we don't care"
    (declare (ignore fsm event)))
  
  ;;; Overall request parser
  (deffsm request-parser ()
    ((peer :initarg :peer :accessor peer)
  
     (request-fsm :accessor request-fsm :initform (make-instance 'request-fsm))
     (headers-fsm :accessor headers-fsm :initform (make-instance 'header-fsm))
     (body-fsm :accessor body-fsm :initform (make-instance 'body-fsm))
  
     (buffer :initform nil :accessor buffer))
    (:default-initargs . (:state :read-request)))
  