           player-events ([coord] (swap! app-state play-move coord))
           game-events ([msg] (when (= msg :new-game) (reset! app-state (new-game))))
           ai-events ([msg] (when (= msg :ai-play) (handle-ai)))
-          (async/timeout 1000) ([_] (put! ai-events :ai-play))
+          (async/timeout ai-move-delay) ([_] (put! ai-events :ai-play))
           )))
     
     {:game-events game-events

(def players [:blue :red :green])
(def directions [[-1 0] [1 0] [0 -1] [0 1] [-1 1] [1 1] [-1 -1] [1 -1]])
(def max-score (- (* board-width board-height) init-block-count))

;; -----------------------------------------
;; EXTRINSIC TYPES

       {:red (partial best-move (compute-cells-strength board))
        :green (partial best-move (compute-cells-strength board))}
       :scores
       {:blue init-block-count
        :red init-block-count
        :green init-block-count}})))

(defonce app-state (atom (new-game)))
(def board (reagent/cursor app-state [:board]))
