Refactorización completa a Programación Orientada a Objetos.
Separación por clases y módulos.