private void AnimateTurn(bool newIsUp)
{
TimeSpan delay = TimeSpan.Zero;
GroupControl group = GroupControl;
if (group != null)
delay = TimeSpan.FromMilliseconds(group.GetTurnAnimationDelay());
var animY = new DoubleAnimation(1.1, new Duration(TimeSpan.FromMilliseconds(150)), FillBehavior.HoldEnd) { BeginTime = delay };
var anim = new DoubleAnimation(0, new Duration(TimeSpan.FromMilliseconds(150)), FillBehavior.HoldEnd) { BeginTime = delay };
anim.Completed += Turned;
turn.BeginAnimation(ScaleTransform.ScaleYProperty, animY);
turn.BeginAnimation(ScaleTransform.ScaleXProperty, anim);
}