Hi Eric,
I get an idea of what you want to achieve. This may work fine. Take it a step further and experiment with a simple expander.
Especially for control classes, you may like the baseclass "control", which hides the inner structure of whatever you put inside this special container.
You may also take a look at the new concept of member classes, which enable you to compose the complexer controls as grid and pageframe out of individual page and column controls.
And you will like being able to couple objects with bindevents(). As you can even bind to properties, that may help you with your EMPTY object idea.
Another good idea, if you are familiar with design patterns, is to take a look at how these patterns are implemented using vfp. A starting point may be
http://fox.wikis.com/wc.dll?Wiki~CategoryDesignPatterns.
If you know how to implement these in Eiffel that may give you hints.
Bye, Olaf.