public void ShouldFinishAllTheTweensOnlyOnceRegardlessOfCalls()
        {
            var tween1FinishCallbacks = 0;
            var tween2FinishCallbacks = 0;
            var tween1   = new TweenSleep(new TimeSpan(100), () => tween1FinishCallbacks++);
            var tween2   = new TweenSleep(new TimeSpan(100), () => tween2FinishCallbacks++);
            var sequence = new TweenSequence();

            sequence.Add(tween1);
            sequence.Add(tween2);

            sequence.Finish();
            sequence.Finish();
            sequence.Finish();

            Assert.Equal(1, tween1FinishCallbacks);
            Assert.Equal(1, tween2FinishCallbacks);
            Assert.True(tween1.IsFinished);
            Assert.True(tween2.IsFinished);
            Assert.True(sequence.IsFinished);
        }