protected abstract UIImage GetImage();
void UpdateImage() { button.SetImage(parent.GetImage(), UIControlState.Normal); }