use less indirection on button mixins