Ah, and, while at it. There is the IMXMLObject interface and the
initialize(document, id) function in it. The use of this interface and it's
only function is both obscure and illegitimate :) It's most of the time is
used to provide child components with the reference to the parent
component. This allows for creation of dependencies in the direction, they
shouldn't be created (children shouldn't be aware of the parent). So, I
would be in favor of totally eliminating this interface + the functionality
it used to provide. However it was often used (it appears in generated
descriptors all the time), usually, you can just remove it.