1. Implement spawn method
when spawned, the component stays around for an undefined period of
time, waiting for events that carry the payload, to send emails
the component, will stop when receiving "shutdown" event, cleaning up
before going away
2. Implement callbacks for server response