add event system to persistNew