Ported over save/update cd to a pub/sub pattern which in turn uses data service layer