anchor.diff:  	(cell-type (caddar (lookup book :a cell-id :b :cell-type))))
       (delete! book cont-fact)
       (insert! book (list cell-id :contents contents))
  -    (publish! :updates (update :book (notebook-name book) :cell cell-id :action 'content-changed :contents contents))
  +    (publish! :cl-notebook-updates (update :book (notebook-name book) :cell cell-id :action 'content-changed :contents contents))
       (when (and (bt:threadp *front-end-eval-thread*)
   	       (bt:thread-alive-p *front-end-eval-thread*))
         (bt:destroy-thread *front-end-eval-thread*))
  -    (publish! :updates (update :book (notebook-name book) :cell cell-id :action 'starting-eval))
  +    (publish! :cl-notebook-updates (update :book (notebook-name book) :cell cell-id :action 'starting-eval))
       (setf *front-end-eval-thread*
   	  (bt:make-thread
   	   (lambda ()
  
positive.code: 		 (delete! book val-fact)
  		 (insert! book (list cell-id :value res))
  		 (write-delta! book)
  		 (publish! :updates (update :book (notebook-name book) :cell cell-id :action 'finished-eval :contents contents :value res))))))))
    :ok)
  
  (define-json-handler (cl-notebook/notebook/new-cell) ((book :notebook) (cell-type :keyword))
    (let ((cell-id (new-cell! book :cell-type cell-type)))
      (write-delta! book)
      (publish! :updates (update :book (notebook-name book) :action 'new-cell :cell-id cell-id :cell-type cell-type)))
    :ok)
  
  (define-json-handler (cl-notebook/notebook/reorder-cells) ((book :notebook) (cell-order :json))
  
negative.code:     (delete! book it))
    (unless (eq new-noise :normal)
      (insert! book (list cell-id :noise new-noise)))
    (publish! :cl-notebook-updates (update :book (notebook-name book) :cell cell-id :action 'change-cell-noise :new-noise new-noise))
    :ok)
  
  (define-stream-handler (cl-notebook/source) ()
    (subscribe! :cl-notebook-updates sock))
  
  ;;;;; System entry
  (defun read-statics ()
  