Datastorage: extracting undo functions to separate component