   (draw! (:background @state) ctx)
   ;;
   ;; While playing and game-over
-  (when (contains? #{:playing :gameover} (:mode @state))
+  (when (contains? #{:playing :game-over} (:mode @state))
     (draw! (:score-2 @state) ctx)
     (draw! (:score-1 @state) ctx))
+  ;;
+  (when (contains? #{:game-over} (:mode @state))
+    (draw! (:game-over @state) ctx))
   ;;
   (when (contains? #{:game-start} (:mode @state))
     (draw! (:game-start @state) ctx))

(defrecord GameBackground [])
(defrecord GameNet [])
(defrecord GameStartScreen [])
(defrecord Paddle [x y width height vy color])
(defrecord Ball [x y radius vx vy fill-color oob?])
(defrecord Score [score x y font color align])

    (.fillText ctx "[ Escape ] to quit." (/ SCALE-W 2) 430)
    (.restore ctx)))

(extend-type GameOverScreen
  IDrawable
  (draw! [_ ctx]
    (.save ctx)
    (aset ctx "textAlign" "center")
    (aset ctx "font" "60px Helvetica")
    (aset ctx "fillStyle" "peru")
    (.fillText ctx "GAME OVER" (/ SCALE-W 2) 200)
    (aset ctx "font" "20px Helvetica")
    (aset ctx "fillStyle" "dodgerblue")
    (.fillText ctx "Press the spacebar." (/ SCALE-W 2) 300)
    (.restore ctx)))

(extend-type Score
  IDrawable
  (draw! [{:keys [score x y font color align]} ctx]
