@startuml abstract class StateMachineManager { + states: async* S - machines: [StateMachine] - queue: Queue -- + accept(E event): void => queue.add(event); - dispatch(E event): void => machines[E].accept(event); -- + {method} << public API methods >> } @enduml