Dec 24, 2021
No worries! Your architectural style is very clean. I follow a relatively similar approach in general.
When I'm using Coordinators, the VCs still have no knowledge of them. I just pass the functionality in through closures like you've done here, usually via a view model that can act as an adaptor.
There's probably a good article that could be written around the pros and cons of closures vs protocols for dependency injection.