 
 (defn remove! [x]
   (if (dom-node? x)
-    (if-let [node-detaching (get-transition x :node-detaching)]
-      (node-detaching x (fn [] (remove-dom-node x)))
-      (remove-dom-node x))
+    (remove-dom-node x)
     (-remove! x)))
 
 ;; ## Polyfills

;; (deftype ElementState [id disposed element-spec child-states])

(declare set-attr!)

(declare get-transition)

(defn- reset-element-spec! [state spec tag]
  (when-let [on-disposed (.-disposed-callback state)]


(defprotocol IRemove
  (-remove! [x]))

(defn- dispose-node
  ([dom-node]
