anchor.diff:  (in-package :verbose)
   
   (defvar *global-controller* NIL)
  -(defvar *shared-instances* (make-hash-table))
  -
  -(setf (gethash 'standard-output *shared-instances*) *standard-output*)
  -(setf (gethash 'error-output *shared-instances*) *error-output*)
   
   (defclass controller (pipeline)
     ((thread :accessor controller-thread)
  +   (shares :initform (make-hash-table) :accessor shares)
      (message-condition :initform (make-condition-variable :name "MESSAGE-CONDITION") :reader message-condition)
      (message-pipe :initform (make-array '(10) :adjustable T :fill-pointer 0) :accessor message-pipe)
      (message-lock :initform (make-lock "MESSAGE-LOCK") :reader message-lock))
  
positive.code:     (loop do
        (with-simple-restart (skip "Skip processing the message.")
          (let ((queue (message-pipe controller))
                (*standard-output* (gethash 'standard-output *shared-instances*))
                (*error-output* (gethash 'error-output *shared-instances*)))
            (setf (message-pipe controller) (make-array '(10) :adjustable T :fill-pointer 0))
            (release-lock lock)
            (loop for message across queue
  
negative.code: 
  (defun shared-instance (key)
    (with-lock-held ((message-lock *global-controller*))
      (gethash key (shares *global-controller*))))
  
  (defgeneric (setf shared-instance) (val key)
    (:method (val key)
      (with-lock-held ((message-lock *global-controller*))
        (setf (gethash key (shares *global-controller*)) val))))
  