Flutter MVVM and Clean Architecture - Part 2: Testable Routing