В твоём случае есть сервис доставки и сервис курьера. Посмотри на проблему с точки зрения иерархии для начала. Явно, что курьер зависит от доставки, а не наоборот. Следовательно, не надо курьеру в конструктор передавать доставку. Это выглядит как ошибка домена.
Да, я согласен. Но тут встает другой вопрос.
1.
Есть метод в сервисе курьеров notifyCouriers, который разруливает отправление уведомлений курьерам.
Есть метод в сервисе доставки createDelivery, который создает доставку. При создании доставки нам надо отправить уведомление курьерам, т.е. домен доставки должен знать про курьеров.
2.
Есть метод в сервисе курьеров createDeliveryEvent, который разруливает какое-либо действия курьера и ему нужно управлять доставкой, т.е., например, сменить статус доставки, поэтому домен курьеров должен знать про доставку.
Как вот тут быть?