The scoping and the interface-definition are certainly the most promising aspects of this. I'm still very skeptical of using the DOM for non-UI purposes, but it could work out and that would be great. But even if not, even if it's just for GUI tasks, it's a win. I know bootstrap's components make life much easier in the common cases, and the concept is similar (but cleaner) here.