“…authors are encouraged to use [class attribute] values that describe the nature of the content, rather than values that describe the desired presentation of the content.” - HTML5 spec
“Web Components…let web application authors define widgets with a level of visual richness not possible with CSS alone” - W3C Introduction to Web Components