anchor.diff:  (defmethod dispatch-event (app (event mezzano.gui.compositor:key-event))
     (when (not (mezzano.gui.compositor:key-releasep event))
       (let* ((ch (mezzano.gui.compositor:key-key event)))
  -      (cond ((char= ch #\Space)
  +      (cond ((char-equal ch #\P)
  +             (setf (mode app) :physical-visualizer)
  +             (throw 'redraw nil))
  +            ((char-equal ch #\G)
  +             (setf (mode app) :graphs)
  +             (throw 'redraw nil))
  +            ((char-equal ch #\Space)
                ;; refresh current window
                (throw 'redraw nil))))))
   
  
positive.code:                  (let ((framebuffer (mezzano.gui.compositor:window-buffer window))
                         (width (- (mezzano.gui.compositor:width window) left right))
                         (height (- (mezzano.gui.compositor:height window) top bottom)))
                     ;; FIXME: Should do this in a seperate thread.
                     (update-display framebuffer left top width height)
                     (mezzano.gui.compositor:damage-window window
                                                           left top
                                                           width height)
                     (catch 'redraw
                       (loop
                          (dispatch-event app (mezzano.supervisor:fifo-pop fifo)))))))))))))
  
  (defun spawn (&optional width height)
    (mezzano.supervisor:make-thread (lambda () (main width height))
  
negative.code:                  (app (make-instance 'memory-monitor
                                       :fifo fifo
                                       :window window
                                       :frame frame
                                       :mode :graphs
                                       :samplers (list (make-instance 'graph-sampler
                                                                      :function 'general-area-usage
                                                                      :colour (gui:make-colour 0 0 1)
                                                                      :name "General area usage")
                                                       (make-instance 'graph-sampler
                                                                      :function 'general-area-alloc
                                                                      :colour (gui:make-colour 0.5 0.5 1)
                                                                      :name "General area bytes allocated"
                                                                      :scale t)
                                                       (make-instance 'graph-sampler
                                                                      :function 'general-area-commit
                                                                      :colour (gui:make-colour 0.5 0.2 1)
                                                                      :name "General area bytes committed"
                                                                      :scale t)
                                                       (make-instance 'graph-sampler
                                                                      :function 'cons-area-usage
                                                                      :colour (gui:make-colour 0 1 0)
                                                                      :name "Cons area usage")
                                                       (make-instance 'graph-sampler
                                                                      :function 'cons-area-alloc
                                                                      :colour (gui:make-colour 0.5 1 0.5)
                                                                      :name "Cons area bytes allocated"
                                                                      :scale t)
                                                       (make-instance 'graph-sampler
                                                                      :function 'cons-area-commit
                                                                      :colour (gui:make-colour 0.5 1 0.2)
                                                                      :name "Cons area bytes committed"
                                                                      :scale t)
                                                       (make-instance 'graph-sampler
                                                                      :function 'pinned-area-usage
                                                                      :colour (gui:make-colour 1 0 0)
                                                                      :name "Pinned area usage")
                                                       (make-instance 'graph-sampler
                                                                      :function 'wired-area-usage
                                                                      :colour (gui:make-colour 1 0 1)
                                                                      :name "Wired area usage")
                                                       (make-instance 'graph-sampler
                                                                      :function 'function-area-usage
                                                                      :colour (gui:make-colour 0.75 0.5 0)
                                                                      :name "Function area usage")
                                                       (make-instance 'graph-sampler
                                                                      :function 'wired-function-area-usage
                                                                      :colour (gui:make-colour 0.75 0.5 1)
                                                                      :name "Wired function area usage")))))
              (mezzano.gui.widgets:draw-frame frame)
              (mezzano.gui.compositor:damage-window window
                                                    0 0
  