Один раз создать класс "awesomeButtonWith7States" и потом его пользовать никто не запрещал

)
Создать такой вот класс с семью кадрами/картинками
Один раз попариться продумать кто чего там слушает и как реагирует
А потом все ваши менюшки делать из этих кнопок.
Только надо еще озадачитсья чтоб кнопка слала ивенты наружу какие-то типа "батон_в_зажатом_состоянии_кликнули"/"батон_в_отпущенном_состоянии_кликнули"
А не просто на клики по ним подписываться, ибо если просто на клики то придется еще и в родителе доп-аналитику вести в каком же состоянии была кнопка когда по ней кликнули.
В том подходе который вы описали есть и минус абалденный.... Там вот эти две кнопки имеют каждая свои слушатели, и очень маловероятно что вам удастся согласовать полностью разорванные объекты. А так у вас будет один объект и проще будет с этим всем заморачиваться.