Refactor email sending so it can be overridden.
Refactors email sending so the target/distribution list is implemented in a service. This means it can be overridden which enables it to be enhanced or different mechanisms to be used to determine what is to be sent and where.