refactor out common BaseImageButton and rename subclasses