Probably not the right place to say this, but I think over-loading Class structures is typical of the abysmal quality and abuse of web programming languages in general.
The original HTML tags more or less happened (and were good for the original purpose), then other tags were added or deprecated with, it seems to me, too little thought.
CSS as a language was certainly very poorly designed, with several inconsistencies, no constants or variables, and no structure beyond tha actual Class definition itself. Now this LAYOUT language is being over-loaded to perform non-layout markup, which it was never intended to do, and is already set to cause extra work to change some older Class names on well-established web sites.
What's wrong with a custom designed HTML tag with a proper structure that could still take CSS markup IF it was needed? And that would be ignored by User Agents if they didn't understand it?
Obviously, it's too late now, but that's pretty much the whole story of the internet. Patch and mend.