 
         # Set the new transition timer.
         @_transitionTimer = setTimeout =>
-          @_removeTransitionClasses()
+          @_transitionTimer = null
           Promise.resolve promise, @[func].call(@)
         , (time or 0)
 

makeVisibilityFunc = (visibility, evt, test, testRejectionMsg) ->
  ->
    promise = new Promise()
    nextTick =>
      if @rendered
        if test.call @
          if @transitioning
            @_stopTransition("Transition canceled by #{evt} event.")
          @['_' + evt]()
          @context.visibility = visibility

makeTransitionFunc = (func, transitionClass, removeClass, state, evt, test) ->
  (time) ->
    promise = new Promise()
    requestAnimationFrame =>
      # Start the transition if the view is rendered and the test function
      # return true.
      if @rendered and test.call(@)
