I also worked on a wizard but instead of having 'meaningless' name
like "stage" I gave each form a 'real' name, like 'contact' for
contact information, 'demographics' for demographic information and so
on. This allowed me to have clearly defined actions in my controller
(contact, demographics, and so on) as of what needed to happen when
and the correct page was always displayed.
I'm not sure if this is the best way of going but it worked best for
me.