Lazy loading dependencies for EnvironmentContext instead of initializing them in constructor.
Refactoring connectors to return singletons instead of initializing all connectors up front.
Initializing properties as singletons instead of initializing in constructor.