def on(event, args = {}, &block)
      selected.each do |view|
        events(view).on(view, event, args, &block)
      end

      self
    end
def on(event, args = {}, &block)
      selected.each do |view|
        events(view).on(view, event, args, &block)
      end

      self
    end
Adds an event/gesture to all selected views

 @return [RMQ]

 on(event_or_gesture, options) do |sender, rmq_event|
   # your code when event fires
 end

 Events for UIControl
  :touch
  :touch_up
  :touch_down
  :touch_start
  :touch_stop
  :change
  :touch_down_repeat
  :touch_drag_inside
  :touch_drag_outside
  :touch_drag_enter
  :touch_drag_exit
  :touch_up_inside
  :touch_up_outside
  :touch_cancel
  :value_changed
  :editing_did_begin
  :editing_changed
  :editing_did_change
  :editing_did_end
  :editing_did_endonexit
  :all_touch
  :all_editing
  :application
  :system
  :all

  :valid
  :invalid
 Gestures for UIView
  :tap
  :pinch
  :rotate
  :swipe
  :swipe_up
  :swipe_down
  :swipe_left
  :swipe_right
  :pan
  :long_press
 Options for gestures
  :cancels_touches_in_view
  :delegate
  :taps_required
  :fingers_required
  :maximum_number_of_touches
  :minimum_number_of_touches
  :allowable_movement
  :minimum_press_duration
  :direction
  :rotation
  :scale

 @example
 rmq.append(UIButton).on(:touch) do |sender|
   # Do something when button is touched
 end

 @example
 rmq(my_view).on(:tap, taps_required: 2 ) do |sender, event|
   # Do something when event fires
 end

 @example
 # These both are the same
 rmq(button).on(:tap, init: ->(recongnizer){recongnizer.numberOfTapsRequired = 2) do |sender|
   puts 'tapped'
 end

 rmq(button).on(:tap, taps_required: 2) do |sender|
   puts 'tapped'
 end