public void EndUpdate(Control control)
        {
            if (updating)
            {
                ConsoleRenderer.ActiveBuffer.Clear(oldRectangle);
                foreach (var ctrl in controls)
                {
                    if (ctrl != control && ctrl.IntersectsWith(oldRectangle))
                    {
                        ctrl.Draw(ctrl.Rectangle.Intersect(oldRectangle));
                    }
                }
                control.Draw();

                int index = controls.IndexOf(control);
                for (int i = index + 1; i < controls.Count; i++)
                {
                    var ctrl = controls[i];
                    if (ctrl.IntersectsWith(control.Rectangle))
                    {
                        ctrl.Draw(ctrl.Rectangle.Intersect(control.Rectangle));
                    }
                }

                ConsoleRenderer.RenderArea(oldRectangle);
                ConsoleRenderer.RenderArea(control.Rectangle);
                updating = false;
            }
        }