Hilmar and Len,
> it seems weird to have to use a unique name for each object.
I don't know why having a unique name for every contained object is such a hassle for you guys. I don't know of any OO language that supports a rich containership model like VFP that doesn't require unique names. Contained objects aren't really different than a property, would you argue that properties don't need to be uniquely named?
If the names don't matter to you, from an architectural standpoint inside this form, just use sys(2015) to create the name and be done with it.
You can use the Objects[] or Controls[] collections to iterate through the contained objects without regard to their names.
Using a secondary array or cursor to maintain your own collections is really needless extra work.