Do you ever thought about an css like state editor? So you have the base style of an button and the other states are build on that instead of are completely different styles?
So the primary button inherits the normal button state and I only need to change the background property. In the current solution it is has a limit what to do and I every have to remember to select all the other states to change something.
Glad to hear from you.