   (let [states (or states (find-all-states))]
     (bring states down >)
     :stopped))
+
+(defn start-with-args [xs & states]
+  (reset! -args xs)
+  (if (first states)
+    (start states)
+    (start)))

       doall))

(defn start [& states]
  (let [states (or states (find-all-states))]
    (bring states up <)
    :started))


          (throw (RuntimeException. (str "could not stop [" name "] due to") t)))))
    (alter-meta! var assoc :started? false)))

;;TODO args might need more thinking
(defn args [] @-args)

(defn mount-state? [var]
  (= (-> var meta :mount-state)
     mount-state))
