По итогу решил следующее. Если нужно быстро, то сделать через параметры и условия. Если логика была бы сложнее и конфликты в ней серьезнее, то нужно было бы:
- разбить метод create на protected методы
- вынести новые методы в базовый класс
- унаследоваться от базового класса и создать Companies и AdminCompanies
- в Companies и AdminCompanies сделать create метод с нуля на основе базовых методов