This type exists so State can stay an abstract wrapper with convenient
conversions and operators while the real storage lives in a small concrete
object.
Constructor
Variables
transitions:Map<StateData, () ‑> Void>
Transition callbacks keyed by target state.
The map is mutated by the public State API and is not usually accessed
directly from gameplay code.