         href: href
 
       # Loop thru all handlers
-      for handler in @tapHandlers
-        supported = handler.isSupported(e, params)
-        if supported
-          console.log handler
-          flag = handler.fn(e, params)
-          return flag
+      for handler in @tapHandlers        
+        return flag = handler.fn(e, params) if handler.isSupported(e, params)
 
     touchStartHandler = (e) ->
       $el = $(e.target)

  tapBuffer = 100

  constructor: (options) ->

    # Public methods
    @addAnimation = (animation) ->
      @animations.push animation if typeof (animation.selector) is "string" and typeof (animation.name) is "string"

    @addTapHandler = (tapHandler) ->
      @tapHandlers.push tapHandler  if typeof (tapHandler.name) is "string" and typeof (tapHandler.isSupported) is "function" and typeof (tapHandler.fn) is "function"

    @addExtension = (extension) ->
      @extensions.push extension


    @tapHandlers = [
      name: "external-link"
      isSupported: (e, params) -> isExternalLink params.$el
      fn: (e, params) ->

      console.warn "This device does not support 3d animation. 2d animations will be used instead."  unless $.support.transform3d
      
      # Add extensions
      for extFn in @extensions
        $.extend @, extFn(@) if $.isFunction(extFn)
      
      # Create an array of stuff that needs touch event handling
      touchSelectors.push @settings.touchSelector.concat(@settings.backSelentor,@settings.submitSelector)
