 
 (defonce app-state
   (atom
-    {:stack (list "first" "second")
+    {:stack ()
      :new-item-text ""
      :snooping? false
-     :filter-text ""}))
+     :filter-text ""
+     :completed ()
+     :showing-history? false}))
 
 (defmulti step
   (fn [_ {:keys [id]}]


;; VIEW

(defn peek-view [{:keys [stack filter-text snooping?]}]
 (when (not-empty stack)
  [:div.peek-container
   [:p
    [:a
     {:on-click (on-click :toggle-snoop)}
     (if snooping? "peeking..." "peek...")]]
   (when snooping?
     [:div
      [:input

      (into [:ol]
       (->> stack
            (filter #(string/includes? % filter-text))
            (map #(vec [:li %]))))
      [:h4
       {:on-click (on-click :toggle-history)}
       (if showing-history? "Hide History" "Show History")]
      [:div
       (when showing-history?
        (into [:ol.history]
         (->> completed
              (filter #(string/includes? % filter-text))
              (map #(vec [:li %])))))]])]))


(defn push-pop-view [{:keys [stack filter-text] :as state}]
  [:div
