* chore: change max_retries to 10
* chore: only send custom domain deleted event if it is not a partner domain
* chore: newrelic events metric names rename
* chore: emit failed events metric
* chore: migration for contact.flags and custom_domain.pending_deletion
* chore: mark custom_domain as pending_deletion when deleting it
* chore: add event type to metric
* feat: add protocol buffers for events
* chore: add EventDispatcher
* chore: add WebhookEvent class
* chore: emit events
* feat: initial version of event listener
* chore: emit user plan change with new timestamp
* feat: emit metrics + add alias status to create event
* chore: add newrelic decorator to functions
* fix: event emitter fixes
* fix: take null end_time into account
* fix: avoid double-commits
* chore: move UserDeleted event to User.delete method
* db: add index to sync_event created_at and taken_time columns
* chore: add index to model