public Animation(Action<double> callback, double start = 0.0f, double end = 1.0f, Func<double, double> easing = null, Action finished = null)
{
children = new List<Animation> ();
this.easing = easing ?? Xamarin.Motion.Easing.Linear;
this.finished = finished;
var transform = AnimationExtensions.Interpolate (start, end);
step = f => callback (transform (f));
}