                 getValue = ->
                     element.value
 
-            handler = (event) ->
-                if filterByKey
-                    if not filterByKey[event.keyCode]
-                        return
-
-                if modifiers.length
-                    env =
-                        stop: false
-                    for modifier in modifiers
-                        modifier.fn event, env
-                        if env.stop
-                            return
-
+            execute = (event) ->
                 if prevent
                     event.preventDefault()
                 if stop

                        event: event
                if scan
                    scope.$scan()
                return

            for e in eventList

            if k is 'noscan'
                scan = false
                continue
            if k.substring(0, 8) is 'throttle'
                throttle = Number k.substring 8
                continue
            if k.substring(0, 8) is 'debounce'
                debounce = Number k.substring 8
                continue

            modifier = alight.hooks.eventModifier[k]
            if modifier
