It seems to me that in MVVM most view model does not reference view as you mentioned. I believe it is the consideration of retain cycle. This is just an example how it might work. You can abstract another protocol to pass it in then you won’t see view controller in view model. I was focusing on idea how coordinator can work together with storyboard rather than on coding convention.