A Tween object doesn’t store any state. Instead, it provides the
evaluate(Animation<double> animation) method that uses the 
transform function to map the current value of the animation
(between 0.0 and 1.0), to the actual animation value.

The current value of the Animation object can be found in the
.value method. The evaluate function also performs some housekeeping,
such as ensuring that begin and end are returned when the
animation values are 0.0 and 1.0, respectively.

Tween.animate

To use a Tween object, call animate() on the Tween,
passing in the controller object. For example,
the following code generates the
integer values from 0 to 255 over the course of 500 ms.

Note:
  The animate() method returns an Animation,
  not an Animatable.

The following example shows a controller, a curve, and a Tween:

Animation notifications