Button component with modifiers