Nice to hear that someone thinks that my code is useful

Thanks for your support..
FYI, I found that solution a bit limited because i haven't found a way to retrieve a particular subform depending on user selection. Take the example of a "Choose a type of payment" form where you have a dropdown box with values: "Cheque", "Credit Card", "Money Order" where each selection must end on a different form requesting payment details... (Conditional step retrieving).
Another problem is that, since we use a static session namespace to persist data between steps, when the user opens multiple instances of the same form in his browser, this would overwrite session data..
Now, this class works well when you're using it on simple forms where you don't need these features, but when you have to handle complex forms it becomes useless...
The only way i found to fix these issues is to span the form across multiple controller actions (without using this class), using a dynamically-created session id (eg. current timestamp) to create the namespace where to store form data preserving form uniqueness. Doing so, you will be able to fetch from every step action the previous inserted data and make your checks to have the correct form loaded (and implement conditional subforms).
This is just a little note
Hope this helps.
Regards,
Michele