Discriminated union of all property change events This provides type safety - each event type has its own data structure
Discriminated union of all property change events This provides type safety - each event type has its own data structure