anchor.diff:      (setf (slot-value self 'action-command) command)
       (interactor.set-action-command self command)))
   
  -(defgeneric (setf action-command) (new-command self)
  +(defgeneric (setf interactor-action-command) (new-command self)
     (:method   (new-command (self interactor))
       (set-action-command self new-command)))
   
  
positive.code:  (window.exit-graphics          "GWindow.exitGraphics"         ())
   (window.get-screen-height      "GWindow.getScreenHeight"      ()                                                                     double)
   (window.get-screen-width       "GWindow.getScreenWidth"       ()                                                                     double)
   (window.repaint                "GWindow.repaint"              ((id id)))
   (window.request-focus          "GWindow.requestFocus"         ((id id)))
   (window.set-resizable          "GWindow.setResizable"         ((id id)))
   (window.set-title              "GWindow.setTitle"             ((id id) (title string)))
   (window.set-visible            "GWindow.setVisible"           ((id id) (visible boolean)))
   (top-compound.create           "TopCompound.create"           ((id id)))
  
negative.code: If the backend is not open, nothing is done.
  "
    (when *backend*
      (unwind-protect
           (ignore-errors
             (window.exit-graphics)
             ;; #+ccl (ignore-errors (ccl:signal-external-process *backend* 9 :error-if-exited nil))
             )
        (setf *backend* nil))))
  
  (defun screen-width    () (window.get-screen-width))
  (defun screen-height   () (window.get-screen-height))
  (defun repaint-windows () (window.repaint))
  (defun pause (milliseconds) (timer.pause milliseconds))
  
  (defun send (command &rest arguments)
    (let ((stream (if *backend*
  