You can animate the tween based on the animation.
Rather than returning a single value, the animate function
returns a new Animation that incorporates the tween.
This approach is most useful when you want to give the
newly created animation to another widget,
which can then read the current value that incorporates
the tween as well as listen for changes to the value.

Architecture

Animations are actually built from a number of core building blocks.

Scheduler

The SchedulerBinding is a singleton class
that exposes the Flutter scheduling primitives.