Refactored WorkerRunner, Mailer and Storage methods are now injected