        (case (:game @app-state)
          "choose-corr" [choose-corr 0.5 [0.25 0.33 0.67 0.75]]
          "choose-bias" [choose-bias 0.5 [0.25 0.33 0.67 0.75]]
+         "decide-corr" [decide-corr 0.5 [0.25 0.33 0.67 0.75]]
+         "decide-bias" [decide-bias 0.5 [0.25 0.33 0.67 0.75]]
          nil)])))
 
 (reagent/render-component [main-page]

     [:button {:on-click #(on-reset) :style {:margin-top "0.5em"}}
      "play again"])])

(defn choose-corr [x xs]
  (let [game-state (atom {})
        init-game! (fn []

                        :flavortext "Which is unbiased?"
                        :answertext (map #(str % " ●") (cons x xs))}
         boards keymap guess]))))

(defn decide-corr [x xs]
  (let [game-state (atom {})
        init-game! (fn []
                     (let [boards (map #(puzzle muted-generator %) (cons x xs))
                           choice (rand-int (count boards))]
                      (swap! game-state assoc
                             :boards boards
                             :choice choice
                             :guess nil)))
        guess! (fn [guess]
                 (swap! game-state assoc :guess guess))]
    (init-game!)
    (fn []
      (let [{:keys [boards choice guess]} @game-state]
        [board-decider {:on-guess #(guess! %)
                        :on-reset #(init-game!)
                        :flavortext "Was this generated by a fair random generator?"
                        :answertext (map #(str "The dots flip with " % " chance.") (cons x xs))}
         boards choice guess]))))

(defn decide-bias [x xs]
  (let [game-state (atom {})
        init-game! (fn []
                     (let [boards (map #(puzzle biased-generator %) (cons x xs))
                           choice (rand-int (count boards))]
                      (swap! game-state assoc
                             :boards boards
                             :choice choice
                             :guess nil)))
        guess! (fn [guess]
                 (swap! game-state assoc :guess guess))]
    (init-game!)
    (fn []
      (let [{:keys [boards choice guess]} @game-state]
        [board-decider {:on-guess #(guess! %)
                        :on-reset #(init-game!)
                        :flavortext "Was this generated by an unbiased random generator?"
                        :answertext (map #(str "The dots flip with " % " chance.") (cons x xs))}
         boards choice guess]))))

(defn main-page []
  (let [app-state (atom {:game nil})]
