public void RecordStateBefore(Canvas canvas)
        {
            CanvasState canvasState = new CanvasState(canvas);

            UndoStack.Push(new BufferState());
            UndoStack.Peek().Before = canvasState;
            RedoStack.Clear();
        }
        public void RecordStateAfter(Canvas canvas)
        {
            CanvasState canvasState = new CanvasState(canvas);

            UndoStack.Peek().After = canvasState;
        }