     {:editing false
      :text (or (show/get-props component :text) "")})
   (render [props state]
-    (let [wire (item-wire-tap component)]
+    (let [wire (w/lay (item-wire-tap component) nil {:id (:id props)})]
       (dom/li {:className (show/class-map {"completed" (:complete props)
                                            "editing"   (:editing state)})}
         (dom/div {:className "view"}
-          (wired/input (w/lay wire :toggle-complete {:id (:id props)})
-                       {:className "toggle"
-                        :type "checkbox"
-                        :checked (:complete props)})
-          (wired/label (w/lay wire :label) (:text props))
-          (wired/button (w/lay wire :destroy {:id (:id props)})
-                        {:className "destroy"}))
-        (wired/input (w/lay wire :edit {:id (:id props)})
-                     {:className "edit"
-                      :autoFocus true
-                      :value (:text state)})))))
+          (wired/input wire {:className "toggle"
+                             :type "checkbox"
+                             :checked (:complete props)})
+          (wired/label wire (:text props))
+          (wired/button wire {:className "destroy"}))
+        (wired/input wire {:className "edit"
+                           :autoFocus true
+                           :value (:text state)})))))
 
 ;; List
 ;;

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

;; Header
;;

;;
(defn item-wire-tap [component]
  (w/taps (w/wire)
    {:class :toggle
     :key   :mouse-click}
      (fn [evt]
        (store/toggle-complete (:id evt)))
    {:class :destroy
     :key   :mouse-click}
      (fn [evt] (store/destroy-todo (:id evt)))
    {:tag :label
     :key :mouse-double-click}
      (fn [evt]
        (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)))
    {:class    :edit
     :key      :keyboard-up
     :keypress :enter}
      (fn [evt]
        (if (not= (:value evt) "")
          (store/update-todo (:value evt) (:id evt)))
