 	# you can put them into a ScrollComponent yourself and then insert them.
 
 	modalLeft: (layer, animate) ->
-		@push(layer, animate, false, Transitions.modalLeft)
+		@_transition(layer, animate, false, Transitions.modalLeft)
 
 	modalRight: (layer, animate) ->
-		@push(layer, animate, false, Transitions.modalRight)
+		@_transition(layer, animate, false, Transitions.modalRight)
 	
 	modalTop: (layer, animate) ->
-		@push(layer, animate, false, Transitions.modalTop)
+		@_transition(layer, animate, false, Transitions.modalTop)
 
 	modalBottom: (layer, animate) ->
-		@push(layer, animate, false, Transitions.modalBottom)
+		@_transition(layer, animate, false, Transitions.modalBottom)
 
 	back: (animate=true) =>
 		return unless @previous

		@_runTransition(transition, "forward", animate, @current, layer)
		@_stack.push({layer:layer, transition:transition})

	dialog: (layer, animate) ->
		@push(layer, Transitions.dialog, animate, false)

	modal: (layer, animate) ->
		@modalRight(layer, animate)

				@emit(Events.TransitionEnd, from, to, direction)
				@emit(direction, from, to)

	_buildTransition: (transitionFunction, layerA, layerB, background) ->

		# Get the executed template data by passing in the layers for this transition
		template = transitionFunction(@, layerA, layerB, background)

		# Buld a new transtition object with empty states
		transition = {}
