introduced serialize event, moved payment normalization to event