   {:value (get @state key)})
 
 (defmethod read [nil ::route-data]
-  [{:keys [state] :as env} key user-parser]
+  [{:keys [state user-parser] :as env} key params]
   (let [st @state
         [route _] (get st ::route)
         query (infer-query env route)

        (user-parser (assoc env :parser user-parser) tx target)))))

(defn- make-parser [user-parser]
  (om/parser {:read (generate-parser-read user-parser)
              :mutate (generate-parser-mutate user-parser)}))

(defn- find-index-route [routes]

      {:remote (parser/expr->ast (:query ast))})))

(defn- generate-parser-read [user-parser]
  (fn [env key params]
    (read (assoc env :user-parser user-parser) key params)))

(defn- generate-parser-mutate [user-parser]
  (fn mutate [{:keys [state target ast] :as env} key params]
