Game events represent meaningful changes.
Examples:
PlayerDied
CoinsChanged
MissionCompleted
GamePaused
C# event:
public static event Action<int>
OnCoinsChanged;
Invoke:
OnCoinsChanged?.Invoke(coins);
Events reduce direct references, but too many global events can make flow difficult to trace.