convert DBEngineFactory to singleton