A lot of developers need to change navigation flow frequently, because it depends on business tasks. And they spend a huge amount of time for re-writing code. We had the same problem in Avito company. From time to time we needed to change registration flow, publication flow, applying vas-services flow, etc. In this talk, I’ll cover our implementation of Coordinators, the creation of a protocol-oriented, testable architecture written on pure Swift without the downcast and, also to avoid the violation of the S.O.L.I.D. principles. I will be discussing how to implement and integrate application coordinators approach in the current projects.