1. Создаем некий массив, называем его история.
2. Учим систему каждый шаг изменений сериализовать в некий формат (json например) и сохранять в массив история.
3. Учим систему восстанавливать свое состояние из этих сохраненных данных.
4. Учим массив история хранить например только последние 20-30 записей.
5. Добавляем слушатель для Ctrl+z
6. Profit!