Gran refactorización al código para eliminar duplicidades y dependencias