Problem
Use asynchronous messaging to decouple senders from consumers and avoid blocking the sender to wait for a response.
Provide info to other components as events.
Solution
An event as a message that notifies other components about a change or an action that has taken place.
Publisher-Subscriber In Practice