           ))
       
       Shutdownable
-        (shutdown [this]
-          (log-message "Shutting down master")
-          (reset! active false)
-          (doseq [t threads]
-                 (.interrupt t)
-                 (.join t))
-          (.shutdown event-manager)
-          (.shutdown cleanup-manager)
-          (.disconnect storm-cluster-state)
-          (log-message "Shut down master")
-          )
-     DaemonCommon
-       (waiting? [this]
-         (and
-          (every? (memfn sleeping?) threads)
-          (every? (memfn waiting?) managers)
-          )))))
+      (shutdown [this]
+        (log-message "Shutting down master")
+        (reset! (:active nimbus) false)
+        (doseq [t threads]
+          (.interrupt t)
+          (.join t))
+        (doseq [manager (nimbus-managers nimbus)]
+          (.shutdown manager))
+        (.disconnect (:storm-cluster-state nimbus))
+        (log-message "Shut down master")
+        )
+      DaemonCommon
+      (waiting? [this]
+        (and
+         (every? (memfn sleeping?) threads)
+         (every? (memfn waiting?) (nimbus-managers nimbus))
+         )))))
 
 (defn launch-server! [conf]
   (validate-distributed-mode! conf)


(defmulti setup-jar cluster-mode)


;; status types
;; -- killed (:kill-time-secs)

          ))
      
      (^TopologyInfo getTopologyInfo [this ^String storm-id]
        (let [storm-cluster-state (:storm-cluster-state nimbus)
              task-info (storm-task-info storm-cluster-state storm-id)
              base (.storm-base storm-cluster-state storm-id nil)
              assignment (.assignment-info storm-cluster-state storm-id nil)
              task-summaries (dofor [[task component] task-info]
