 
 {DOMEventManager} = require "./DOMEventManager"
 
-TouchStart = ["touchstart", "mousedown"]
-TouchMove = ["touchmove", "mousemove"]
-TouchEnd = ["touchend", "mouseup"]
-
 class exports.GestureInputRecognizer
 
 	constructor: ->
 		@em = new DOMEventManager()
-
-		TouchStart.map (e) => @em.wrap(window).addEventListener(e, @touchstart)
+		@em.wrap(window).addEventListener("mousedown", @startMouse)
+		@em.wrap(window).addEventListener("touchstart", @startTouch)
 
 	destroy: ->
 		@em.removeAllListeners()

	# Utilities

	_process: (event) =>

		return unless @session

		@session.events.push(event)

			else
				return unless (event.touches.length == event.changedTouches.length)

		@em.wrap(window).removeEventListener("mousemove", @touchmove)
		@em.wrap(window).removeEventListener("mouseup", @touchend)
		@em.wrap(window).removeEventListener("touchmove", @touchmove)
		@em.wrap(window).removeEventListener("touchend", @touchend)

		@em.wrap(window).addEventListener("webkitmouseforcechanged", @_updateMacForce)

		event = @_getGestureEvent(event)
