      (when-let [disposed-callback (.-disposed-callback state)]
        (disposed-callback))
      (when-not (identical? (aget child-key 0) "-")
-       (js-delete element-state-lookup child-key)
+       ;(js-delete element-state-lookup child-key)
        (goog.object/forEach (.-child-states state)
                             (fn [state child-key _]
                               (dispose-node child-key state)))))))


(defn- get-element-state [x]
  ;;(get element-state-lookup x)
  (when-let [node-id (get-node-id x)]
    (aget element-state-lookup node-id)))

(extend-protocol IElementSpec
  boolean

  ([dom-node]
   ;(println "disposing" dom-node)
   (when-let [node-id (get-node-id dom-node)]
     (when-let [state                                       ;;(aget element-state-lookup node-id)
                (.-freactive-state dom-node)
                ]
       (dispose-node node-id state)
       (when-let [parent-state (.-parent-state state)]
         (when-let [child-states (.-child-states parent-state)]
