 (defui ^:once ItemAdder
   static
   fc/InitialAppState
-  (initial-state [c params] {:input-value ""
-                             :valid-input-value? false})
+  (initial-state [c params] {:item-adder/input-value ""})
   Object
   (render [this]
-          (let [{:keys [input-value valid-input-value?]} (om/props this)]
+          (let [{:keys [item-adder/input-value]} (om/props this)
+                valid-input-value? false]
             (dom/form
              #js {:className "item-adder"
                   :onSubmit #(.preventDefault %)}

(defui ^:once App
  static
  fc/InitialAppState
  (initial-state [c params] {:item-adder (fc/get-initial-state ItemAdder {})
                             :item-list (fc/get-initial-state ItemList {})})

  Object
  (render [this]
          (let [{:keys [ui/react-key]} (om/props this)
                {:keys [item-adder item-list]} (fc/get-initial-state App {})]
            (dom/div
             #js {:key react-key
                  :className "app"}

(defui ^:once ItemList
  static
  fc/InitialAppState
  (initial-state [c params] {:item-list/items [(fc/get-initial-state Item {:added-at 1508175827181
                                                                           :text "hello"
                                                                           :checked? false})
                                               (fc/get-initial-state Item {:added-at 1508175970713
                                                                           :text "world"
                                                                           :checked? true})]})
  Object
  (render [this]
          (let [{:keys [item-list/items]} (om/props this)]
            (if (empty? items)
              (dom/div
               #js {:className "item-list"}
               (dom/div
