Nice write up, Bohdan!
Danil Gontovnik

Thank you, Danil!

I’m very happy you wrote this response to prevent people of doing mistakes you are pointed out, for someone it might be not obvious that letting the View to handle the navigation is a bad idea, and I didn’t emphasise it in the article.

The approach still might be useful in cases when you have some legacy API which obligates you to pass both data and a presenting VC, like this one:

- (BOOL)authorizeWithExternalProvider:(ExternalProvider *)provider  
(UIViewController *)presentingViewController

The navigation details are hidden inside, but still it requires a View Controller for a presentation.

Obviously, this is technique which makes life easier comes with a toll of a hidden dependency. A developer has to evaluate if the shortcut worth the possible consequences.