1) Конкретно всю логику сущность и не должна инкапсулировать. При $order->deliver() меняется внутреннее состояние самого $order, ему неважно что нужно юзеру смс отправить или баллы бонусные посчитать. При этом $order может возвращать связанные с ним события при вызове какого-то emitNewEvents(), которые родительский сервис может диспатчить или не диспатчить. Если речь о том что в любом месте кода можно достать $order и вызвать deliver(), то с этим ничего не сделаешь, тут тысячи способов сломать стейт, рефлексия, апдейт напрямую через pdo и т.п. Если бы в пхп можно было разбивать код на модули и делать приватны для модуля классы то может быть.
2) Генерация пароля это отличный кандидат на свой отдельный класс/сервис. Много вопросов как раз из-за того что это не обязанность юзера их генерить, а делать метод внутри юзера, который принимает сервис и делает что-то вроде $this->password = $service->generate() ничем не лучше обычного сеттера. Для безопасности сеттеров можно как раз использовать Value Objects, например GeneratedPassword.
2) Генерация пароля это отличный кандидат на свой отдельный класс/сервис. Много вопросов как раз из-за того что это не обязанность юзера их генерить, а делать метод внутри юзера, который принимает сервис и делает что-то вроде $this->password = $service->generate() ничем не лучше обычного сеттера. Для безопасности сеттеров можно как раз использовать Value Objects, например GeneratedPassword.