For many, event-driven communication is often considered just an implementation detail. However, event-driven architecture has implications that reach far beyond the realm of asynchronous messaging. In this presentation, we will delve into many of these implications in detail. From delivery guarantees to promise theory, from designing event payloads to functional programming, from error handling to strategic domain-driven design - we will embark on a journey from seemingly minor details to the big picture.