Why this matters
Passing an object payload makes the event emission more extensible. If you later need to add more data to the event, you can add new properties to the object without breaking existing listeners expecting a specific primitive type. It improves the maintainability and future-proofing of component communication.