anchor.diff:     (current-frame :initform 0 :accessor current-frame)
      (paused-p :initform nil :accessor paused-p)))
   
  -(defclass message ()
  -  ((x :initarg :x :initform 0 :accessor x)
  -   (y :initarg :y :initform 0 :accessor y)
  -   (times-displayed :initform 0 :accessor times-displayed)
  -   (display-limit :initarg :limit :initform 60 :accessor display-limit)
  -   (message-string :initarg :msg :initform "" :accessor message-string)))
  +;;;
  +;;; Generic functions
  +;;;
  +(defgeneric take-a-step (game))
  +(defgeneric resolve-collisions (game))
  +(defgeneric pause-screen (game))
  +(defgeneric handle-key-event (key game &key))
   
  -(defmethod update ((msg message))
  -  (with-slots (x y times-displayed display-limit message-string) msg
  -    (if (and display-limit 
  -	       (>= times-displayed display-limit))
  -	(setf (messages *game*)
  -	      (delete msg (messages *game*)))
  -	(incf times-displayed))))
  -
  -(defmethod draw ((msg message))
  -  (with-slots (x y message-string) msg
  -   (sdl:draw-string-shaded-* message-string x y sdl:*red* (sdl:color :a 0))))
  -
  -(defun display-message (message x y &optional display-limit)
  -  (let ((msg (make-instance 'message :x x :y y :msg message :limit display-limit)))
  -    (push msg (messages *game*))))
  -
  +;;; Game methods
   (defmethod update ((game game))
     (with-slots (running-p player background projectiles enemies messages enemy-counter) game
       (update background)
  
positive.code:     (let ((down-p (gethash key keys-held-down)))
        down-p)))
  
  (defun toggle-pause ()
    (if (paused-p *game*)
        (progn
  	(sdl-mixer::resume-music)
  	(setf (paused-p *game*) nil))
        (progn
  	(sdl-mixer:pause-music)
  	(setf (paused-p *game*) t))))
negative.code: 		       (setf (projectiles game) (delete projectile (projectiles game))))
  		      (t (values))))))
  
  (defmethod pause-screen ((game game))
    (sdl:draw-box-* 0 0 *screen-width* *screen-height* :color (sdl:color) :alpha 150)
    (sdl:draw-string-shaded-* "PAUSED" 
  			    (/ *screen-width* 2)
  