Hi, I'm working on a Tactical RPG, running on Unity. The architecture is the following: Core abstraction layer (pure C#) RPG Framework (pure C#) RPG Business layer (pure C#) Unity View The View mostly receives events and enqueues commands. All the View elements share a ViewModel, which has an internal Message System. I'm currently working on the Camera. I want it to center on the selected unit, and to include the target if an attack is playing. My approach would be to raise an event when an unit is selected, raise an event when an unit is targeted, etc. But I'm afraid that this ends up in an explosion of small EventData classes, like UnitSelectedEventData, UnitTargetedEventData, UnitDeselectedEventData, UnitUntargetedEventData, etc. Sure, this would happen in the least abstract layer so I guess it's not that bad, but I'm wondering what would be a more conventional approach to this? Is this a problem to have that many small, and sometimes almost similar, event classes? Thank you!…