Implemented this way, users can specify any arbitrary HTML. This seems a little too powerful (users may be surprised that nested structures like `"<button><span></span></button>"` won't work as intended) and also makes the API a little harder to use (you have to write valid HTML fragments in the JavaScript--the closing tag will always be superfluous). What do you think about supporting options for `nodeName` (or `tagName`) and `className` instead? Then you can avoid the call to `insertAdjacentHTML` and use `createElement` instead.