If two emails fired off at once, they would previously replace each other's content and possibly send the wrong email to the wrong person. construct* methods now return the email content, which is sent separately.
smtp and mailgun now implement an emailClient interface, which the Emailer can use.
changing this because ctx is commonly used with the context package.