Что делать если в класса сущности много свойств?
Разделить сущность на несколько мелких сущностей не получится.
Это тебе только так кажется.

Пора открывать для себя ООП, а конкретно - такие понятия как композиция и агрегация.
Сущность, у которой все свойств 20 задаются через конструктор - это уже большой красный звонок. 
Если ты посмотришь внимательно, то эти свойства прекрасно группируются по какому-либо признаку, и некоторые из них могут принадлежать другому, служебному классу.
Сгруппировав параметры таким образом, ты не только уменьшишь количество параметров, но и сделаешь небольшой шажок к нормальному коду от классического спагетти

Вот очень хороший доклад от Дмитрия Елисеева (который, на мой взгляд, является на данный момент лучшим в России популяризатором ООП в РНР). Видео стоит посмотреть целиком, но конкретный ответ на твой вопрос начинается на 27 минуте: https://youtu.be/6tL1XOywgUc?t=1653
тот метод, что вы написали(create) - называется фабричный метод, ЕМНИП. Вполне рабочее решение, для скрипта "на коленке".

Можно так же почитать про другие порождающие паттерны проектирования, возможно поможет понять суть