       @element.addEventListener('touchstart', this, false)
       @element.addEventListener('touchmove', this, false)
       @element.addEventListener('touchend', this, false)
+
     handleEvent: (e) ->
       switch e.type
         when "touchstart"

    onTouchEnd: (e) ->
      console.log 'onTouchEnd',e


      if @isDragging()
        if @shouldStartMomentum()
          @startMomentum()
        else
          @snapToBounds()

    isDragging: () -> true


      @stopMomentum()
      @startTouchY = e.touches[0].clientY
      @startTouchTime = (new Date).getTime()
      @contentStartOffsetY = @getContentOffsetY()
      console.log( 'onTouchStart at', @startTouchY , 'Content start offset at', @contentStartOffsetY)

    onTouchMove: (e) ->
      return if not @isDragging
      console.log 'onTouchMove', { touchY: e.touches[0].clientY , contentStartOffsetY: @contentStartOffsetY }

      currentY = e.touches[0].clientY
      deltaY = currentY - @startTouchY
