public void AnimateBottomToTop(Image water, Action done)
        {
            Action FilteredDone = AnimationComplete(done);
            HasWater = true;

            water.ClipTo(0, 0, 0, 0);
            water.Show();

            Enumerable.Range(1, Pipe.Size / 2).ForEach(
                (Current_, Next) =>
                {
                    var Current = Current_ * 2;
                    water.ClipTo(
                        0,
                        Pipe.Size - Current,
                        Pipe.Size,
                        Current
                    );

                    this.WaterAnimationSpeed.AtDelay(Next);
                }
            )(FilteredDone);
        }