Refactoring client structure for increased project maintainability