refactored Singletons, using simplest DI