Added the ability for the configuration factory to be customized. This
will allow you to use custom configuration formats as well as intercept
the configuration generate to change it programmatically at runtime.