[ CCode ( type_id = "dex_state_machine_get_type ()" ) ]
public sealed class StateMachine : Object
`DexStateMachine` provides a serialized asynchronous state machine.
Transitions are declared up front with a static table of [struct@Dex.StateTransition] entries. Requests made with [ method@Dex.StateMachine.transition] are serialized through an internal [class@Dex.Limiter] with a max concurrency of one. Transition callbacks run from a fiber, so they may use `dex_await()` and related APIs while still appearing as synchronous functions.