Oh yeah, I see what you're saying. I just don't bother with toolkits since I find that once you factor in said fun, you aren't really saving much time, and you might end up with a lot of jank. I just roll my own based on the needs of the project and keep my cascade very flat and specific. Sass makes this really easy using BEM style naming, where you can do this:
.my-component {
&_component-item {
&--open {
}
}
}
and you get a nice, flat output:
.my-component {}
.my-component_component-item {}
.my-component_component-item--open {}
I wish framework authors would adopt this approach as it completely eliminates specificity conflicts.