Use UndoRedo with semantic block delete

More work of a similar nature us required, but this shows how it works.