Using a Command Pattern is a good idea for this. You end up with a stack of commands at runtime, and you can revert them (or add commands that undo their effects)
Using a Command Pattern is a good idea for this. You end up with a stack of commands at runtime, and you can revert them (or add commands that undo their effects)