This framework for buttons is one that I keep finding myself come back to time and again. The guys at Wufoo, in their article Rediscovering the Button Element talk about how they've built their buttons.
The "base" branch will always be an un-modified variation, while other branches will be more descriptively titled ("rounded-corners", e.g.).