Currently AbstractEnvironment directly creates a MutablePropertySources and PropertySourcesPropertyResolver. It would be helpful to use factory methods so that subclasses can use different implementations.

Comment From: philwebb

I pushed a suggested implementation here