Real Decision
Problem
The legacy Yii1 application handled business logic, notification orchestration and gateway communication inside the same runtime. Every new notification scenario increased coupling, making the system harder to maintain and scale.
Decision
Separated notification delivery into an independent service. The legacy system became a producer of business events, while the new service became responsible for message formatting, channel selection, delivery and status tracking.
Why It Matters
Business logic should publish events, not manage infrastructure concerns. This separation reduced coupling, simplified future integrations and allowed the notification platform to evolve independently.