Added undo/redo events
Added undo depth

Added a max undo depth limit of 100
Code refactoring

Refactoring of the code
Added isChanged and reset

Added isChanged and reset functions to the undo service
Refactoring and fixing

Some refactoring and fixed some bugs