decoupled AnimationTiming from AnimationPosition