           (dom/h4 #js {:className "col-xs-12"} (clojure.string/join "," (map :dance/name (:round/dances activity)))))
 
         ;; TODO - fix heats
-        (map-indexed #((om/factory HeatsComponent) %)
-                     (partition (:round/heats activity)
-                                (:round/starting (om/props this))))
+        ((om/factory HeatsComponent) {:heats (:round/heats activity)
+                                      :starting (:round/starting activity)})
 
         (dom/div #js {:className "Row"}
           (dom/h3 #js {:className "col-xs-12"} (str "Total: " (count starting))))

  Object
  (render
    [this]
    (dom/div nil "Heats")))

(defui ActivityComponent
  static om/IQuery

        (let [response (async/<! (http/get "/query" {:query-params
                                                     {:query (pr-str (:query edn))}}))
              edn-response (second (cljs.reader/read-string (:body response)))]
          ;(log edn-response)
          ;; TODO - why is the response a vec?
          (cb edn-response))
        ))))
