inject into the singleton, singleton instantiation on demand