   [_ new-value {:keys [maze] :as state}]
   (let [{:keys [algorithm rows columns grid]} maze]
     new-value))
-
-(defmethod produce-maze-value :channel
-  [_ value _]
-  value)
 
 (defmethod produce-maze-value :default
   [_ form-value _]

          :columns 10
          :cell-size 10
          :grid nil
          :channel nil

          :analysis "none"
          :start-row 0

        nil
        (dom/div
          nil
          (dom/label nil
                     "Algorithm: "
                     (dom/select #js {:value algorithm
                                      :onChange (partial modify :algorithm)}
                                 (concat [(dom/option #js {:key ""} "")]
                                         (map
                                           (fn [name]
                                             (dom/option #js {:key name} name))
                                           algorithms)))))
        (dom/div
          nil
          (dom/label nil
                     "Rows: "
                     (dom/input #js {:type "number"
                                     :value rows
                                     :min 2
                                     :max 99
                                     :style #js {:width "30px"}
                                     :onInput (partial modify :rows)}))
          (dom/label nil
                     "Columns: "
                     (dom/input #js {:type "number"
                                     :value columns
                                     :min 2
                                     :max 99
                                     :style #js {:width "30px"}
                                     :onInput (partial modify :columns)})))
        (dom/div
          nil
          (dom/label nil
                     "Analysis: "
                     (dom/select #js {:value analysis
                                      :onChange (partial modify :analysis)}
                                 (map (fn [name] (dom/option #js {:key name} name)) analyses))))
        (when (contains? #{"distances" "path"} analysis)
          (dom/div
            nil
            (dom/label nil
                       "Start Row: "
                       (dom/input #js {:type "number"
                                       :value start-row
                                       :min 0
                                       :max (dec rows)
                                       :style #js {:width "30px"}
                                       :onInput (partial modify :start-row)}))
            (dom/label nil
                       "Start Column: "
                       (dom/input #js {:type "number"
                                       :value start-col
                                       :min 0
                                       :max (dec columns)
                                       :style #js {:width "30px"}
                                       :onInput (partial modify :start-col)}))))
        (when (= "path" analysis)
          (dom/div
            nil
            (dom/label nil
                      "End Row: "
                       (dom/input #js {:type "number"
                                       :value end-row
                                       :min 0
                                       :max (dec rows)
                                       :style #js {:width "30px"}
                                       :onInput (partial modify :end-row)}))
            (dom/label nil
                      "End Column: "
                       (dom/input #js {:type "number"
                                       :value end-col
                                       :min 0
                                       :max (dec columns)
                                       :style #js {:width "30px"}
                                       :onInput (partial modify :end-col)}))))
        (dom/div
          nil
          (dom/button #js {:disabled (not (ready-to-go maze))
