Как у меня сделано:
MVP, там есть отдельный класс-ассемблер, который собирает модули.
Для одного модуля у меня собирается tableviewcontroller c tableviewcell1
Для другого tableviewcontroller c tableviewcell2
Есть и ситуация наоборот, когда контроллеры разные, а ячейку одну и ту же используют.
Но в принципе до переделки это нормально работало и на MVC
Просто сделал по красоте и для тренировки MVP