         (assoc-in $ [:dashboard :section] section)
         (update $ :dashboard merge-if-not-exists
                 {:collection-type :builtin
-                 :collection-id 1})))
-
-    IPrintWithWriter
-    (-pr-writer [mv writer _]
-      (-write writer "#<event:u.d.d/initialize>"))))
+                 :collection-id 1})))))
 
 (defn set-project-ordering
   [order]
   (reify
     rs/UpdateEvent
     (-apply-update [_ state]
-      (assoc-in state [:dashboard :project-order] order))
-
-    IPrintWithWriter
-    (-pr-writer [mv writer _]
-      (-write writer "#<event:u.d.d/set-project-ordering>"))))
+      (assoc-in state [:dashboard :project-order] order))))
 
 (defn set-project-filtering
   [term]
   (reify
     rs/UpdateEvent
     (-apply-update [_ state]
-      (assoc-in state [:dashboard :project-filter] term))
-
-    IPrintWithWriter
-    (-pr-writer [mv writer _]
-      (-write writer "#<event:u.d.d/set-project-filtering>"))))
+      (assoc-in state [:dashboard :project-filter] term))))
 
 (defn clear-project-filtering
   []
   (reify
     rs/UpdateEvent
     (-apply-update [_ state]
-      (assoc-in state [:dashboard :project-filter] ""))
-
-    IPrintWithWriter
-    (-pr-writer [mv writer _]
-      (-write writer "#<event:u.d.d/clear-project-filtering>"))))
+      (assoc-in state [:dashboard :project-filter] ""))))
 
 (defn set-collection-type
   [type]

    (-apply-update [_ state]
      (let [state (update state :colors-by-id dissoc id)
            colls (sort-by :id (vals (:colors-by-id state)))]
        (assoc-in state [:dashboard :collection-id] (:id (first colls)))))

    IPrintWithWriter
    (-pr-writer [mv writer _]
      (-write writer "#<event:u.d.d/rename-color-collection>"))))

(defn replace-color
  "Add or replace color in a collection."

          (disj $ from)
          (conj $ to)
          (assoc-in state [:colors-by-id id :colors] $))
        state))))

(defn remove-color
  "Remove color in a collection."
