Pattern
Sandbox State Routing Separation
state-routing-lifecycle-separation
Player input and UI/game-state updates fail to compose when s&box code ties input, controllable objects, cleanup, and persistent player data to the same lifecycle; separating PlayerData vs Player and routing via control systems prevents mismatched ownership and stale teardown.