                                                   (go (>! set-state-ch id)))}
                                (dom/option nil "synth")
                                (dom/option nil "sample")
-                               (dom/option nil "play")
                                (dom/option nil "grid"))
         :immutable (dom/span nil (get cursor "type"))))))
 

                                    :onClick #(handle-change % owner state :type)
                                    :onKeyDown #(when (= 13 (.-which %))
                                                  (om/update-state! owner (fn [s] (merge s {:state :immutable})))
                                                  (if-not (= "grid" (:type state))
                                                    (om/transact! cursor (fn [c] (assoc c "type" (:type state))))
                                                    (let [grid-id (new-id)
                                                          grid {"name" ""
                                                                "grid-id" grid-id

                                 (clj->js
                                  (conj s {"type" "none"
                                           "beats" (repeat % [0])
                                           "fx" []}))))
            width-selection (fn [w s]
                              (dom/span #js {:onClick
