An Event marks a change in the game state that can trigger abilities or effects.
An EventContext provides information about the current event being processed, including the game state, the event itself, and the source of the event.