reportState
Forces the state machine to a specific state without screen changes.
Use this when screens manage their own lifecycle and the state machine just needs to track the current state.
Parameters
state
The state to set
reason
Reason for the state change (for logging)