AbstractTab extends AbstractActionComponent, so we will have to copy & paste this code into AbstractTogglePanelItem which is the common ancestor of the other toggle components.  We can do this once we've stabilized the approach for the Tab component.