At some point a couple of years ago, the idea of encoding behavior hints into the colors of the user interface became a major part of MediaWiki UI styling, and OOjs UI had something similar so the two concepts merged. The problem has always been when you start using the buttons in practice, the interface is really loud and confusing because it's blasted with giant bright colored squares on otherwise very light white and gray controls. This has always been a challenge, and in OOjs UI we ended up adding "primary" as an additional designation so only the primary action was a bright color and other buttons were quieter with only colored text and outlines. Which is actually a 4 x 2 matrix of buttons. Owch.
I look forward to May returning with some analysis.