implement WidgetDecorator
implement PopupWidgetDecorator
UI: use decorated Buttons instead of PopupButtons