Помогите с Page Object в приложении на ангуляре.

Здравствуйте, есть некий процесс создания эксперимента. Который сосоит из нескольких шагов.
На 1 шаге мы пишем имя эксперимента и тип эксперимента.
2 степ зависит от того что выбрано в 1 степе, он имеет кучу полей которые появляются и ищезают в зависимости от того какие опции выбраны и состоит из разного колличества под степов ( что бы перейти на следующий подстеп нужно нажать next).
Так же в зависимости от первого степа будут появляется или ищезать или изменяться степ 3,4 и 5.
Помогите с архитектурой

Добрый день, я не слишком опытный автоматизатор но сталкивался с похожим кейсом. Напишу как я это реализовал, может кто-то предложит более правильный вариант: при нажатии на кнопку next у меня возвращается промис который может вернуть две разных пейджи step2A и step2B. Для степа два я создал один базовый класс в котором описаны все общие элементы для 2 шага. И создал два класса для ветки А и для ветки В которые наследует общий класс и содержат индивидуальные элементы. Вот мой скромный опыт.

Если логики много, то я бы не стал заниматься оверхедом и повторять эту логику на уровне пейджей, а просто в пейдже описал эти возможные степы. И внутри теста их использовал так как надо.