     #
     #   1. Test if it’s a new controller/action with new params
     #   1. Hide the old view
-    #   2. Destroy the old controller
+    #   2. Dispose the old controller
     #   3. Instantiate the new controller, call the controller action
     #   4. Show the new view
     #

      # Whether to update the URL after controller startup
      # Default to true unless explicitly set to false
      if params.changeURL isnt false
       params.changeURL = true

      # Whether to force the controller startup even
      # when current and new controllers and params match
      if params.forceStartup isnt true
       params.forceStartup = false

      # Check if the desired controller is already active
      isSameController = not params.forceStartup and
       @currentControllerName is controllerName and
       @currentAction is action and
       # Deep parameters check is not nice but the simplest way for now
       (not @currentParams or _(params).isEqual(@currentParams))

      # Stop if it’s the same controller/action with the same params
      return if isSameController


      @adjustURL controller, params

      # We're done! Spread the word!
      mediator.publish 'startupController',
        controller: @currentController
        controllerName: @currentControllerName
