Refactored event saving