Applied the changes from GenericFactory. Added a file that contains most of the needed stuff for Reflections.