   @data.reset()
   return @
 
-#
-#
+# Tween.step()
+# interval fn that updates the state of the tween based on it's tween data
 Tween::step = (time) ->
   
   return @ unless @active

# Manager, ya-know
Tween::Manager = null

#
#
Tween::from = (options, @affectSource = true) ->
  @options.from = options
  return @

#
# 
Tween::to = (options) ->
  @options.to = options
  return @

#
#  
Tween::for = (duration, easing = "linear") ->
  @options.duration = duration
  @options.easing = easing
  return @

#
#
Tween::partial = () ->
  return not (@options.from and @options.to and @options.duration and @options.easing)

#
#
Tween::init = () ->
  throw new Error "Tween is still a partial" if @partial()
  @data = new TweenData(@options)
  return @

#
#
Tween::set = (start, target, options) ->

  @from(start)

  
  # check if we're done
  if @state.done
    @active = false
    @done   = true
    @time.end = time.elapsed
