A suggestion: make it so that a command could output an appropriately formatted text (e.g. JSON) that could control either the icon, the background, or any of the lines of text.
Usecases:
- make the button green if a process is running, red if it's not
- change the icon based on whether something happened or not
- Add additional text to the top or bottom of the button with a command.
I'm sure there are many many more ideas possible here.