> Note: this is obviously just a simplified example. In reality this
> structure is imposed because there are many target devices for the
> application and it was considered impractical to abstract the
> functionality into an interface and many differently named
> implementations.
This sounds *really* horrible. Do you honestly mean you want to get into
a situation where given the name of a class you don't *actually* know
what it is?
This kind of thing is exactly what abstract classes and/or interfaces
are designed for. Is it too late in the day to reverse that decision?
Jon