Event Delegation

What memory optimization does this implementation provide?
const delegate = (root, selector, events) => {
  const listeners = new WeakMap();
  
  events.forEach(([event, handler]) => {
    const wrapper = e => {
      const target = e.target.closest(selector);
      if (!target || !root.contains(target)) return;
      
      const boundHandler = listeners.get(target) || 
        listeners.set(target, handler.bind(target)).get(target);
      boundHandler(e);
    };
    
    root.addEventListener(event, wrapper);
  });
};
Next Question (17/20)