fixed UIControl#on methods - using a handler class instead fixes the strange bug. the blocks were not getting the correct arguments