Не думаю, что здесь стоило делать подкласс. Camelcase в фабричной функции - для красоты кода.