Report question

Question: How to implement good and efficient undo/redo functionality for a TextBox