It's an application error to extend `HTMLElement.prototype` and then declare yourself an extension of `button`. To extend `button`, the correct base prototype must be `HTMLButtonElement.prototype`.