code: function Timeout(fn, delay) {
    const id = setTimeout(() => {
      this.clear();
      fn();
    }, delay);
  
    this.cleared = false;
    this.clear = () => {
      this.cleared = true;
      clearTimeout(id);
    };
  }
docs: /* NOTE: Implement Google Tag Manager for this module to work correctly
  
  Step 1
  Copy the following JavaScript and paste it as close to the opening <head> tag as possible on every page of your website
  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
  
  Step 2
  Copy the following snippet and paste it immediately after the opening <body> tag on every page of your website
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX" height="0" width="0" style="display:none visibility:hidden"></iframe></noscript>