 true,
          writable: true
        }
      });

      Klass.prototype.connectedCallback = function() {
        if (!this._initialized) {
          this._initialized = true;
          if (connected) {
            connected.call(this);
          }
          if (template) {
            this.attachShadow({mode: 'open'});
            this.shadowRoot.appendChild(document.importNode(template.content, true));
          }
        }
      }

      customElements.define(name, Klass);
    }

    window.makeFocusab