Michael
Perhaps I'm missing something... can't you create a Montage Form class that stores subforms as an array and has appropriate methods to refresh, create and destroy subforms. Nesting can be handled by showwindow property. That way you could mimic a montage screen within a montage screen or a browser session or whatever without having to worry about ActiveDocs. If you use private datasessions and form properties rather than global settings, or give each form a settings cursor containing session-specific data, this should work well.
HTH
Regards
JR
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1