Structured email system with an abstract Mailer class