>> Complications and work for all to be sure,
yes you're not kidding! And I don't mind the work so much, but the complications are non-trivial.
For example;
The server stores the "state" of a form in the session queue. Since forms are not recursive even if a form is abandoned this results in minimal overhead, and the space is re-used when the user returns to that form. However if multiple forms are now allowed, then the server has to store multiple "states", which is ok, except that if a form is abandoned it won't get around to cleaning out that state until the session ends.
There are other complications, but hopefully I can find solutions.
cheers
Bruce