docs: function debounce(callback, delay = 0) {
      let timeoutID = false;
  
      return function (...args) {
          if (timeoutID !== false) {
              clearTimeout(timeoutID);
          }
  
          timeoutID = setTimeout(() => {
              timeoutID = false;
  
              callback.apply(this, args);
          }, delay);
      };
  }