   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 = [
+    @tapHandlers = @tapHandlers.concat [
       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 i in @extensions
        fn = extensions[i]
        $.extend @, fn(@) if $.isFunction(fn)
      
      # Create an array of stuff that needs touch event handling
      touchSelectors.push @settings.touchSelector.concat(@settings.backSelentor,@settings.submitSelector)

        console.warn "We are on the right panel."
        true
      else if location.hash is ""
        @goBack()
        true
      else if customHistory[1] and location.hash is customHistory[1].hash
        @goBack()
        true
      else
        # Lastly, just try going to the ID...
