Add save/cancel abstraction and combine 3 system dd tests into one