UIButton to UIControl, plus fixed API