a custom UIButton class