       (init-state [_]
         {:change-grid-dimensions (chan)
          :change-display-dimensions (chan)
-         :cell-state-changed (chan)})
+         :cell-state-changed (chan)
+         :started (chan)})
       om/IWillMount
       (will-mount [_]
         (let [grid-c (om/get-state owner :change-grid-dimensions)
               display-c (om/get-state owner :change-display-dimensions)
-              cell-state-c (om/get-state owner :cell-state-changed)]
+              cell-state-c (om/get-state owner :cell-state-changed)
+              started-c (om/get-state owner :started)]
           (go (loop []
                 (let [[width height] (<! grid-c)]
                   (om/transact!

                      {:init-state
                       (merge state
                              {:width (get-in data [:display :width])
                               :height (get-in data [:display :height])})})))
          (dom/div #js {:className "col-sm-10"}
                   (om/build grid-view
                             data

    om/IRenderState
    (render-state [_ {:keys [width height change-display-dimensions]
                      :as state}]
      (let [started (:started data)]
        (dom/div
         #js {:role "form" :className "automaton-display-control"}
         (dom/label nil "Display width")
         (dom/input
          #js {:type "text" :className "form-control" :value width
               :disabled started
               :onChange
               #(handle-numeric-config-change % owner state :width)})
         (dom/label nil "Display height")
         (dom/input
          #js {:type "text" :className "form-control" :value height
               :disabled started
               :onChange
               #(handle-numeric-config-change % owner state :height)})
         (dom/button
          #js {:type "button" :className "btn btn-warning btn-lg btn-block"
               :disabled started
               :onClick #(put! change-display-dimensions [width height])}
          "Reset display"))))))


(defn gen-app-view
