Button widgets (and probably button option widgets) support "flags" to be passed. I would attack this differently and either modify the CSS classes that are added by the existing flags or introduce your own flags to output the desired CSS classes.