Автор примерно так и делает.
У него просто функция крупновата.
Это я к тому, что уменьшение размера класса и распределение кода по файлам как отдельные задачи не имеют большого смысла при правильном проектировании функционала. Тысячи срок в отдельных классах все равно не появятся.