allow undo/redo for simulation