Refactorings to some core factory classes to allow for better handling of inherited control decorators.  Added more tests.