This class facilitates building frameworks of several classes that
inter-operate. It was first designed and built for "HTML::Mason",
in which the Compiler, Lexer, Interpreter, Resolver, Component,
Buffer, and several other objects must create each other transparently,
passing the appropriate parameters to the right class, possibly
substituting their own subclass for any of these objects.