                 msgs)
            (apply concat)
            (remove #(nil? (:comp %)))))
-    (throw (ex-info "next component undefined in transition" {:transition transition}))))
+    (warn "next component undefined in transition" {:transition transition})))
 
 (defn- handle-events [eventhandlers msg]
   (let [{:keys [msg evmsgs]}

(defn advance [msg ruleset]
  "Takes a message, runs it against ruleset and returns a sequence of routed messages."
  (debug "routing starting with" (select-keys msg #{:route :comp :starbuck/route-count}))
  (if (< (or (:starbuck/route-count msg) 0) 10)
    (let [route (get-in ruleset [:routes (:route msg)])
          trans (get-in route [:transitions (:comp msg)])
          evenths (merge (get ruleset :event-handlers)

(ns ow.starbuck.message-router
  (:require [taoensso.timbre :refer [trace debug info warn error fatal]]
            ;;;[clara.rules :as cr]

            ;;;[clojure.walk :refer [macroexpand-all]]
