StateMachine
abstract class StateMachine<S : State, A : Action, E : Effect>(initialState: S, val graph: Graph<S, A, E>, val effectHandle: EffectHandle<S, A, E>, val fallbackHandle: FallbackHandle<S, A, E>? = null, val logger: Logger = NoopLogger, val context: CoroutineContext = EmptyCoroutineContext, initializer: (S) -> MutableStateFlow<S> = { s -> MutableStateFlow(s) })