Factory & Constructor Functions

What's the benefit of this lazy initialization approach in a factory?
const createDataProcessor = (() => {
  let heavyResource;
  
  const initializeResource = () => {
    // Expensive initialization
    return { /* complex data structure */ };
  };
  
  return () => {
    if (!heavyResource) {
      heavyResource = initializeResource();
    }
    return {
      process(data) {
        return heavyResource.process(data);
      }
    };
  };
})();
Next Question (18/20)