Может ли реализация источника данных быть моделью просмотра?

Я хочу отделить реализацию UITableViewDataSource / Delegate от моего контроллера представления. Я использую MVVM, и я начал задаваться вопросом, может ли реализация источника данных в отдельном классе работать как модель представления. Это будет выглядеть примерно так: Источник данных в виде модели представления

Если протокол UITableViewDataSource не является хорошим кандидатом для модели просмотра, я вижу два других способа решения этой проблемы: 1) с общей моделью представления : введите описание изображения здесь

или с 2) разделенными моделями просмотра : введите описание изображения здесь

Как подойти к этому, чтобы оставаться в духе разделения MVVM от презентации ?

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.