 
 (defmethod mutate 'boards/activate
   [{:keys [state]} _ {:keys [ref]}]
-  {:action #(swap! state assoc :boards/active ref)})
+  {:value [:boards/active]
+   :action #(swap! state assoc :boards/active ref)})
 
 (defmethod read :boards/editing
   [{:keys [state]} key _]


(defmethod mutate 'boards/create-board
  [{:keys [state]} _ _]
  {:value [:boards]
   :action #(swap! state create-board)})


(defmethod mutate 'boards/update
  [{:keys [state]} _ {:keys [board data]}]
  {:value [:boards :boards/active]
   :action (fn [] (swap! state update-in board #(merge % data)))})

(defn create-board [st]
  (let [id    (->> (get-boards st :boards) (map :id) (cons 0) (reduce max) inc)
