       )
     )
   )
+
+(defn after-event [event-attr event-arg component callback]
+  (do
+    ((aget (.. component -props) (name event-attr)) event-arg)
+    (callback component)
+    )
+  )

  )

(defn containing [& tests]
  (fn [component]
    (let [children (js->clj (.. component -props -children))
          test-count (count tests)]
      (if (sequential? children)
        ;; React annoyingly makes children = the single child element,
        ;; when there is only one, instead of a list of one
        (let [child-count (count children)]


(defn -instrument [sub-component cursor _]
  {:sub-component sub-component
   :cursor cursor}
  )

(defn test-predicates
