                               (update :evmsgs #(conj % evmsg)))
                           (update s :evmsgs #(conj % evmsg))))
                       s)
-                    (throw (ex-info "next component undefined in eventhandler" {:eventhandler eventhandler}))))
+                    (warn "next component undefined in eventhandler" {:eventhandler eventhandler})))
                 {:msg msg
                  :evmsgs []}
                 eventhandlers)]


(defn- goto-next [transition msgs]
  (if-let [next (or (and (map? transition) (:next transition))
                    (and (keyword? transition) transition))]
    (let [nexts (if (sequential? next)
                  next
                  [next])

                msgs)
           (apply concat)
           (remove #(nil? (:comp %)))))
    (warn "next component undefined in transition" {:transition transition})))

(defn- handle-events [eventhandlers msg]
  (let [{:keys [msg evmsgs]}
