 (defn single-comment [{:keys [comment-id issue-id]} owner {:keys [ancestors]
                                                            :or {ancestors #{}}}]
   (reify
+    om/IDisplayName (display-name [_] "Single comment")
     om/IInitState
     (init-state [_] {:listener-key (.getNextUniqueId (.getInstance IdGenerator))
                      :replying? false})


(defn issue-summary [{:keys [issue-id]} owner]
  (reify
    om/IInitState
    (init-state [_] {:listener-key (.getNextUniqueId (.getInstance IdGenerator))})
    om/IDidMount

;; XXX: handle logged-out users
(defn vote-box [{:keys [issue]} owner]
  (reify
    om/IDisplayName (display-name [_] "Vote box")
    om/IRender
    (render [_]
      (let [{:keys [cast! issue-db cust]} (om/get-shared owner)
