// Update or create an animation for a button
    static public void Animate(Button sender, Direction direction)
    {
        AnimateButton animate;

        // find it...
        if (dict.TryGetValue(sender, out animate))
        {
            animate.SetDirection(direction);
        }
        else
        {
            // create a new one
            animate = new AnimateButton(sender);
            animate.SetDirection(direction);
            if (dict.TryAdd(sender, animate))
            {
                Animations.List.Add(animate);
            }
            else
            {
                Trace.WriteLine("button not added ?!?");
            }
        }
    }
 private async void AnimateButton_Clicked(object sender, EventArgs e)
 {
     await AnimateButton.RotateTo(360, 1000);
 }