Refactor audit logging introduce auditEvent