adding a type parameter in the Factory and Provider classes
small refactorings on the NamingUtil class