anchor.diff:  (defmethod update (actor))
   
   (defclass mover (actor)
  -  ((move-fn
  -    :initarg :move-fn
  -    :accessor move-fn
  +  ((direction-fn
  +    :initarg :direction-fn
  +    :accessor direction-fn
       :initform (make-meander))
  +   (motivation
  +    :initarg :motivation
  +    :accessor motivation
  +    :initform 1.0)
  +   (heading
  +    :accessor heading
  +    :initform (random-heading))
  +   (max-speed
  +    :initarg :max-speed
  +    :accessor max-speed
  +    :initform 1.0)
      (name
       :initform 'mover)
      (status
       :initform 'meandering)))
  +
  +(defmethod draw ((actor mover) cr)
  +  (cairo-set-source-rgb cr 0.0 0.0 1.0)
  +  (cairo-set-line-width cr 3.0)
  +  (cairo-move-to cr (x actor) (- +drawing-area-height+ (y actor)))
  +  (cairo-line-to cr
  +                 (+ (x actor) (* 15 (cos (heading actor))))
  +                 (- +drawing-area-height+ (+ (y actor) (* 9 (sin (heading actor))))))
  +  (cairo-stroke cr)
  +  (call-next-method))
   
   (defclass sheep (mover)
     ((herd
  
positive.code:                          (lambda (widget)
                             (declare (ignore widget))
                             (setf runningp nil)))
         (g-signal-connect drawing-area "draw"
                           (lambda (widget cr)
                             (declare (ignore widget))
  
negative.code:        (gtk-box-pack-start box ctrl-panel)
         (gtk-box-pack-start ctrl-panel start-button)
         (gtk-box-pack-start ctrl-panel stop-button)
         (gtk-box-pack-start ctrl-panel step-button)
         (gtk-widget-show-all window)
         (start-animation)))))
  