       (if v
         {:value v :remote true}
         {:remote true}))))
+
+(defmethod read :app/station-info
+  [{:keys [state] :as env} k _]
+  (let [st @state]
+    (if-let [v (get st k)]
+      {:value v} ;; :remote true
+      {})))
 
 (defmethod read :default ;; :app/mapstate
   [{:keys [state] :as env} k params]

    {:line-id 25})
  static om/IQuery
  (query [this]
    '[:app/title :loading? :app/mapstate :app/lines
      (:app/stations {:line-id ?line-id})
      ])
  Object
  (componentWillMount [this]
    (.log js/console "will-mount"))

  {:value {:keys [:app/mapstate]}
   :action (fn [] (swap! state assoc :app/mapstate new-mapstate))})

(defmethod mutate 'app/update-station-info
  [{:keys [state]} _ {:keys [new-station-info]}]
  {;; :remote true
   :value {:keys [:app/station-info]}
   :action (fn [] (swap! state assoc :app/station-info new-station-info))})

(defmulti read om/dispatch)

(defmethod read :app/title
