                      :as app}
                     owner]
   (reify
-    om/IWillMount
-    (will-mount [_]
-      (let [text-chan (or (om/get-state owner :text-chan) (chan))
-            internal-text-chan (chan)
-            throttled (throttle internal-text-chan 250)]
-        (pipe throttled text-chan)
-        (om/set-state! owner :internal-text-chan internal-text-chan)))
     om/IDidUpdate
     (did-update [_ prev-props prev-state]
       (when (and (not= (:highlighted-index prev-props)

                    :name "query"
                    :autoComplete "off"
                    :autoFocus "autofocus"
                    :on-input #(put-text % internal-text-chan owner)
                    :on-key-down #(maybe-nav % app ac-results)})
        (dom/ul {:class "ac-results"}
          (map-indexed

                    :placeholder "Looking for? (ctrl-s)"
                    :name "query"
                    :autoComplete "off"
                    :on-input (throttle 200 #(put-text % text-chan owner))
                    :on-key-down #(maybe-nav % app ac-results)})))))

(defn ac-results [{:keys [highlighted-index ac-results]
