Вообще то да, создавать отдельный класс и переносить туда часть функционала, и желательно не просто часть: функции от А до И - в один класс, а от К до Я - в другой. А выделить логические объекты, которые и должны нести в себе (инкапсулировать) определенные функции.
Как пример - автомобиль:
двигатель - один класс (инкапсулирует функции "завести", "заглушить", "естьЛиБензин")
колесо - другой - ("поворотВЛево", "поворотВПраво", "толщинаПротектора")
Все это можно описать в одном классе - "Автомобиль", а можно разбить на вышеперечисленные, и хранить в классе "Автомобиль" интерфейсы на двигатель, колеса и т.д.
Также можно разгрузить класс по средством наследования, когда классы выстраиваются в определенную иерархию, в книгах по С++ любят приводить пример с млекопитающими

Овчарка -> собака -> млекопитающее...