Converted RectangularButtonView to use a strategy pattern for defining the appearance as the interaction state changes, see #103.