protected static class Classes.ClassFactoryProvider
ClassFactoryProvider is used to hide the "swapability" of ClassFactory.
This current implementation checks the current instance versus the configured property
on every call.
TODO : This could possibly be optimized or "blocked" as soon as we can now this property has indeed been configured.
I don't think the above would be interesting until we can do some refactoring of the ConfigLoader, PropertiesInitializer and SystemProperty classes.