 ;;
 (defn item-wire-tap [component]
   (w/taps (w/wire)
-    {:key :toggle-complete :action :click}
-      (fn [evt] (store/toggle-complete (:id evt)))
-    {:key :destroy :action :click}
+    {:class :toggle
+     :key   :mouse-click}
+      (fn [evt]
+        (store/toggle-complete (:id evt)))
+    {:class :destroy
+     :key   :mouse-click}
       (fn [evt] (store/destroy-todo (:id evt)))
-    {:key :label :action :double-click}
+    {:tag :label
+     :key :mouse-double-click}
       (fn [evt]
-        (show/assoc! component :text (show/get-props component :text))
-        (show/assoc! component :editing true))
-    {:key :edit :action :change}
+        (doto component
+          (show/assoc! :text (show/get-props component :text))
+          (show/assoc! :editing true)))
+    {:class :edit
+     :key   :form-change}
       (fn [evt] (show/assoc! component :text (:value evt)))
-    {:key :edit :action :up :keypress :enter}
+    {:class    :edit
+     :key      :keyboard-up
+     :keypress :enter}
       (fn [evt]
         (if (not= (:value evt) "")
           (store/update-todo (:value evt) (:id evt)))

  (will-mount
    (store/register-changes
      (fn []
        (show/assoc! component :todos (store/all-todos))
        (show/assoc! component :all-complete (store/all-complete?)))))

  (render [props state]

            [wire.up.show :as wired :include-macros true]
            [wire.core :as w]
            [examples.todomvc.store :as store]))

(enable-console-print!)

;; Header
;;
