From: Travis Leithead [mailto:travis.leith...@microsoft.com]
> It always seemed weird to me that 'prototype' of ElementRegistrationOptions > can inherit from anything (including null), and be completely disassociated > from the localName provided in 'extends'. Yes, the current spec is completely borked when it comes to classes and how it just treats { prototype } as an options object. I think there is wide agreement to fix that. The solution that maintains the least delta from the current spec is outlined in https://lists.w3.org/Archives/Public/public-webapps/2015JanMar/0230.html, coupled with the work at https://github.com/domenic/element-constructors (see especially the registry). You could imagine other solutions that allow author-supplied constructors (instead of just inheriting the default behavior from HTMLElement and delegating to this.createdCallback() or this[Element.create]()) but those require running such author-supplied constructors during parsing and during cloning, which has its own issues.