                       :props   route-data})
             (factory route-data)))))))
 
-(defprotocol ICompassus
-  (-mount! [this target]))
-
-(defrecord CompassusApplication [config state])
+(defrecord ^:private CompassusApplication [config state])
 
 (defn application?
   "Returns true if x is a Compassus application"

            (map? query) (get route))}])

(defn dispatch
  "Helper function for implementing the read and mutate multimethods.
   Dispatches on the remote target and the parser dispatch key."
  [{:keys [target]} key _]
  [target key])

(defmulti read dispatch)

(defmethod read :default
  [{:keys [target] :as env} key params]

    (when-not (empty? ret)
      {:remote (parser/expr->ast (first ret))})))

(defmulti ^:private mutate dispatch)

(defmethod mutate :default
  [{:keys [target] :as env} key params]
