tidied up config naming to reflect that a factory is being created, made consistent use of factory helper methods in ReflectionUtil, added comments and updated others where relevant, added license to ReflectionUtilTest