Designing systems and discussing architectural decisions is hard, because there are so many concerns to respect.
Explicitly distinguishing control flow, information flow, model flow and dependencies helps to clear up the confusion . This allows for richer and more powerful designs - from class level all the way up to bounded contexts and team organization.
I will explain how to fully utilize these concepts and share stories of how tiny arrowheads can make a huge difference, for better and worse.