 
 		@normalizedPosition = pos
 
-		_.addClass @element, 'transition' if options.transition
+		if options.transition
+			_.addClass @element, 'transition'
+			@transitioning = true
 
 		@[comp]?.position? @normalizedPosition, options for comp, ctr of Slider.components
 
 		if options.transition
 			_.delay options.transition, => 
-				_.removeClass @element, 'transition'
-
+				_.delay 17, =>
+					_.removeClass @element, 'transition'
+					@transitioning = false
 		pos
 
 

				window.addEventListener _.endEvent, (e) =>
					start = null
					_.removeClass @slider.element, 'dragging'
					if @slider.options.step?
						@slider.position @slider.position()


		valueInvalid: 'slider value must be between options.min and options.max'
		positionInvalid: 'slider position must be between 0 and 1'

	@polling: 
		timeout: null
		
		interval: 1931
		
		start: -> 
			if not @timeout?
				@timeout = setInterval ->
					Slider.instances.map (slider) -> 
						if slider.options.poll and not slider.transitioning and not slider.dragging
							slider.position slider.position()
				, @interval
		
		stop: -> clearInterval(@timeout) if @timeout?


	@defaults:
		min: 0
		max: 1
