Factory Functions & Singleton Pattern

What feature does this singleton implementation provide that basic singletons often lack?
const Config = (() => {
  const defaultConfig = {
    apiUrl: 'https://api.example.com',
    timeout: 5000
  };
  
  let instance;
  
  const createInstance = (overrides = {}) => {
    return {
      ...defaultConfig,
      ...overrides,
      get(key) {
        return this[key];
      }
    };
  };
  
  return {
    getInstance(overrides) {
      if (!instance) {
        instance = createInstance(overrides);
      }
      return instance;
    },
    resetInstance() {
      instance = null;
    }
  };
})();
Next Question (13/32)