 (defn add-render [fun-map render-f]
   (assoc fun-map
     :cljsRender render-f
-    :render reactive-render))
+    :render (fn []
+              (this-as C
+                       (run-reactively
+                        C #(do-render C) #(queue-render C))))))
 
 (defn wrap-funs [fun-map]
   (let [render-fun (or (:componentFunction fun-map)

      (when (and wrap f)
        (assert (fn? f)
                (str "Expected function in " name key " but got " f)))
      (default-wrapper (or wrap f)))))

(def obligatory {:shouldComponentUpdate nil
                 :componentWillUnmount nil})

      (this-as C (apply f C args)))
    f))

(def dont-wrap #{:cljsRender :render})

(defn get-wrapper [key f name]
  (if (dont-wrap key)
