Undo : refactoring the undo classes in order to work for objects and
tiles.