    :-add-invalidation-watch
    (fn --add-invalidation-watch
      [this key f]
-     (aset invalidation-watches key f)
+     (aset (.-invalidation-watches this) key f)
      this)
 
    :-remove-invalidation-watch
    (fn -remove-invalidation-watch
      [this key]
-     (js-delete invalidation-watches key)
+     (js-delete (.-invalidation-watches this) key)
      this)})
 
 (defn cursor* [ref korks-or-getter setter lazy]

(defn remove-invalidation-watch [this key]
  (-remove-invalidation-watch this key))

(deftype ReactiveAtom [state meta validator watches]
  Object
  (equiv [this other]
    (-equiv this other))

  cljs.core/IAtom



  IWatchable
  (-notify-watches [this oldval newval]
    (.notifySwatches this oldval newval))
  (-add-watch [this key f]
    (set! (.-watches this) (assoc watches key f))
    this)
