Subclasses must implement this function by running through the following steps for each animatable facet in the class:
Call the visitor callback with three arguments, the first argument being the current value of the Tween
object that represents the tween (initially null), the second argument, of type T, being the value on the Widget that represents the current target value of the tween, and the third being a callback that takes a value T (which will be the second argument to the visitor callback), and that returns an Tween object for the tween, configured with the given value as the begin value.
Take the value returned from the callback, and store it. This is the value to use as the current value the next time that the forEachTween method is called.
@protected void forEachTween(TweenVisitor<dynamic> visitor);