A custom button in Artisan is specified by a name, an event type and value, an action as well as button and text colors (see Events, Buttons Palettes). There can be as many buttons as you like. Additionally, each button has an appearance (normal/pressed) and a state. State and appearance are disconnected by default, but can be connected via button actions.