Implementation of the Undo / Redo fanction by using a Command Pattern