Проектирование пошаговой формы

Всем привет!

Прошу совета как лучше организовать программно "пошаговую" форму подачи заявки с валидацией каждого шага и возможность вернуться к предыдущим шагам?

Пока на ум приходит только разбивать экшн контроллера на некий "step" переменную и совать ее в $_POST,

но может быть есть способы получше?

Естественно есть. Начните с ознакомления с CHtml::statefulForm(), также вам потребуется метод getPageState() класса CController.