Another idea, which may or may not be applicable to your case but I
thought worth sharing...
I have a wizard for my project. Rather than creating a single object
it creates an entire hierarchy of related objects.
My wizard starts by creating a deep clone of an existing 'template'
tree, and the rest of the wizard just runs as edits/updates. This
allows me to get the validation on the updates and easily fill in
intelligent default values based on my template. This is probably
only useful for creating a collection of related objects at once using
a single wizard.