Design event-driven systems with clear event contracts, delivery guarantees, and consumer patterns. Use when introducing async workflows, event buses, message queues, or reacting to domain events.