# Functions
StartWorkerService starts the event queue listener service to listen for configured events return channel to track the finish event
to wait sync for the service to finish: fc, err := StartWorkerService(data) handle err <-fc // waits for finish.
# Structs
ServiceData keeps data required for service work.
# Interfaces
EmailMaker prepares the email.
EmailRetriever return the email by ID.
Locker tracks email sending process It is used to quarantee not to send the emails twice.
Sender send emails.