Thanks for the great article, the one thing that scares me though is the heavy combo of javascript and css. I’ve always been a big fan of keeping the css separate but I do agree with have a big problem with global css. Another option I have used in my own work (not saying it is perfect) is to use name spacing on the component level and keeping each component’s css in it’s own file. Then importing all of the component css into a master file. With the use of something like Less or Sass you can improve this even more. Essentially creating a development version of your css that can be compiled into vanilla css. Not a perfect solution but not dependant on javascript