 
 (defn bind-style-prop! [element attr-name attr-value node-state]
   (if (satisfies? cljs.core/IDeref attr-value)
-    (on-value-ref-invalidated* set-style-prop! element "style." attr-name attr-value node-state)
+    (on-value-ref-invalidated* set-style-prop! element "style" attr-name attr-value node-state)
     (set-style-prop! element attr-name attr-value)))
 
 (defn listen! [element evt-name handler]

               ;  (set-fn element attr-name @ref))
               ))]
      ;;(set! (.-invalidate attr-state) f)
      (register-with-parent-state node-state (str "-" state-prefix attr-name) attr-state)
      ;(set! (.-child-states node-state)
      ;      (assoc (.-child-states node-state)
      ;                                        attr-state))

      (bind-prop-attr! set-attr! element attr-name attr-value node-state))))

(defn- unbind-attr!* [node-state prefix attr-name]
  (let [attr-key (str "-" prefix "." attr-name)]
    (when-let [child-states (.-child-states node-state)]
      (when-let [state (aget child-states attr-key)]
        (set! (.-disposed state) true)
        (js-delete child-states attr-key)))))

(defn- rebind-style! [element attr-name styles node-state]
  (doseq [[p v] styles]
    (unbind-attr!* node-state "style" attr-name)
    (bind-style-prop! element p v node-state)))

(defn- rebind-attr! [element attr-name attr-value node-state]
  )

(defn set-attrs! [node attrs]
  (let [node-state (get-element-state node)]
