#94 note that ExpandCollapseButton needs to be reimplemented using RectangularPushButton