       return if controller.redirected
 
       # Save the new controller
-      @previousControllerName = currentControllerName
       @currentControllerName = controllerName
       @currentController = controller
       @currentAction = action

        # Passing the params and the new controller name
        currentController.dispose params, controllerName

      # Initialize the new controller
      # Passing the params and the old controller name
      controller = new ControllerConstructor params, currentControllerName

      # Call the specific controller action
      # Passing the params and the old controller name
      controller[action] params, currentControllerName

      else
        handler require path

    controllerLoaded: (controllerName, action, params, options, ControllerConstructor) ->
      # Shortcuts for the old controller
      currentControllerName = @currentControllerName or null
      # Initialize the new controller
      # Passing the params and the old controller name
      controller = new ControllerConstructor params, currentControllerName

      method = if _.isObject controller.before
        'executeFilters'
      else
        'executeAction'

      this[method](controller, controllerName, action, params, options)

    # Handler for the controller lazy-loading
    executeAction: (controller, controllerName, action, params, options) ->
      # Shortcuts for the old controller
      currentControllerName   = @currentControllerName or null
      currentController       = @currentController     or null

      @previousControllerName = currentControllerName

      # Dispose the current controller
      if currentController
