What problem does it solve? Managing game state across Phaser 4 game objects, scenes, and the global registry is error-prone when done ad hoc, and developers often miss the event-driven patterns that keep UI and game logic in sync without tight coupling. ## Core Features & Use Cases - Three-Level Data Storage: Covers per-GameObject data (setData/getData), per-Scene data (this.data), and the global registry (this.registry) with correct event emitter routing for each. - Reactive Change Events: Documents setdata, changedata, changedata-{key}, and removedata events so systems like HUDs can react to state changes automatically. - Gotcha Prevention: Explains common pitfalls such as object mutation not firing events, frozen DataManagers failing silently, and registry listeners leaking across scene restarts. - Use Case: Build a HUD scene that watches the global registry for score changes set by the game scene, updating text automatically and cleaning up listeners on shutdown. ## Quick Start Ask the AI to show how to store player health on a sprite with setData and update a health bar whenever the changedata-hp event fires.