Не создавайте строку в контроллере, если вы не хотите, чтобы ваша бизнес-логика была в контроллере, а не в ваших бизнес-компонентах. Если вы абсолютно уверены, что вам нужно представить это как строку, так как это единственный способ решить эту проблему, попросите бизнес-компонент выполнить всю работу.
Что касается того, как выполнить ветвление в представлении, это может быть так же просто, как включение данных для определенного условия и наличие ветви представления на основе существования этих данных. Или наличие логического значения (или какого-либо флага), указывающего, где находится пользователь в процессе. Если это значение указывает на неполное, покажите «неполную» логику. Таким образом, View принимает решение только на основе привязки данных, а контроллер просто контролирует поток и не принимает бизнес-решений.