У класса должна быть только одна причина для изменения. Если класс отвечает и за отчеты, и за рассылку - при смене формата отчетов или канала рассылки придется менять один и тот же класс.
// Плохо: один класс и сохраняет, и шлет письмо
class UserRegistration {
public function register($data) {
$user = $this->saveUser($data);
$this->sendEmail($user);
}
}
// Хорошо: регистрация оркестрирует, сохранение и письмо - отдельные сервисы