What is an event?
An event represents the availability of information. Basically, something happened. Examples: user_created and user_updated.
When should we use events?
1 - To decouple components
2 - To perform async tasks
3 - To keep track of state changes (audit log)
What is an Event Listener?
Event Listeners react to only one event and can have multiple methods reacting to it.
What is an Event Subscriber?
Event Subscribers react to multiple events and have multiple methods reacting to them.
What are the types of event patterns?