Visual Basic Concepts
The relationships between the externally creatable objects a component provides and the dependent objects they contain are expressed in the component’s object model. Once you’ve analyzed the functionality your component will provide, you can:
Visual Basic gives you the flexibility to implement many possible object models. A component can provide several unrelated creatable objects, each containing one or more dependent objects; it can also provide a single hierarchy containing a number of objects, only one or two of which are externally creatable.
One characteristic common to all of these implementations is that they require more design time. It’s important to spend adequate time and effort determining how your objects will interact and how they will be used designing your object model to avoid having to redefine objects, or split one object into two, in a future version of your component.
Such changes make it much more difficult for applications that use your component to migrate to newer versions. Adding new objects, or exposing objects that were formerly private, does not cause such problems.
For More Information "Using Properties and Collections to Create Object Models" discusses techniques for linking dependent and externally creatable objects in an object model.