     {scrollPosition} = @
     @_validScrollPositionCheckScheduled = false
     boundedScrollPosition = @boundSp scrollPosition + desiredOffset
-    global.scrollElement = @
     if boundedScrollPosition != scrollPosition && !@_animating
       @_animating = true
       @animators = merge originialAnimators = @animators,

          @animators = originialAnimators

      @scrollPosition = boundedScrollPosition

  _scrollPositionChanged: ->
    unless @_activelyScrolling


  @getter "childrenOffset firstOnScreenChildIndex lastOnScreenChildIndex focusedChildIndex childrenSize windowSize inFlowChildren"


  @getter
    scrollRatio: -> -@childrenOffset / (@childrenSize - @windowSize)

  @setter
    scrollRatio: (r)->
      @setFirstElementPosition -r * (@childrenSize - @windowSize)

  overScrollTransformation = (scrollPosition, windowSize) ->
    maxBeyond = windowSize / 3
    Math.atan(scrollPosition / maxBeyond ) * (2 / Math.PI) * maxBeyond
