You can already do this; you just need to use Custom Attribute instead of a "stock" selection. But the problem either way is that it doesn't tell you what event just happened--it's only a way to test what the current value of the attribute is. (Attribute values are normally set by events; "button 1 pushed" sets the "pushed" attribute to "1." But it will remain at 1 until another button number is pushed. It will never disappear, neither with time nor as the result of other button events like held, released, or doubleTapped.) Thus, a conditional action testing for pushed == 1
doesn't really help you know what just happened, and it's why my suggestion would be to use a trigger instead, which works off of the event--i.e., the actual pushed
event, so you know what just happened.
Button Controller handles this all for you and you can group all button events for a device into one "child" app, so it's likely cleaner than separate rules for everything, though that's certainly an option. But the best way to do it in either case is to rely on the event (trigger in RM, or just...built in to Button Controller), rather than a conditional (which can only check the state).