Часто в программах используют "Помощники" (wizard-ы).
Это несколько последовательно отображаемых пользователю окон, в которых он что-то вводит.
Последовательность окон может быть разная в зависимости от того, что вводит пользователь.
И управляется эта последовательность программой.
Хочется сделать "правильную" архитектуру для реализации такого Помощника.
С выделением классов: Представление, Контроллер, Модель, Презентатор в соответствии с "хорошими" принципами разработки ПО: типа CleanArchitecture, Domain-driven design и др.
Реализовывать планируется на WinForms C#.
С первого взгляда кажется, что для управления логикой и последовательностью отображения окон для пользователя, надо сделать какой-то отдельный объект-Контроллер.
Правильно?