Factory Functions & Singleton Pattern

What encapsulation pattern does this API factory implement?
function createAPI() {
  const privateData = {};
  
  function privateMethod() {
    // Implementation
  }
  
  return {
    publicMethod() {
      privateMethod();
      return 'result';
    },
    getData(key) {
      return privateData[key];
    },
    setData(key, value) {
      privateData[key] = value;
    }
  };
}
Next Question (11/32)