       ITransact
       (-transact! [_ sub-path value]
         (transact! cursor (concat path sub-path) value)))))
-
-
-;; ---------------------------------------------------------------------
-;; Helper Functions
-
-
-(defn add-to [type container value]
-  (if (empty? container)
-    (conj type value)
-    (conj container value)))
-
-
-(defn register-path [component store path]
-  (aset component "_paths"
-        (add-to #{} (aget component "_paths") [store path])))
-
-
-(defn cleanup [component]
-  (let [paths (aget  component "_paths")]
-    (doseq [[db path] paths]
-      (remove-dep! db component path))))
 
 
 

    (notify-update path dep-graph)))



;; ---------------------------------------------------------------------
;; Simple Store Cursor

(defn store [obj]
  (-store obj))


(defprotocol IPath
  (-path [this]))

(defn path [obj]
  (-path obj))


(defprotocol INotify
  (-notify [this path]))

