3 этапа переработки. В первой итерации: ужасный код стайл, плохой деление ответственностей по компонента, неумение использовать типы и попытка заткнуть это словарями.
После 3 итераций довели проект до ума, но я когда обращался к заказчику последнее о чем думал это том, что буду ревьювить чей-то php код и потом доказывать, что его надо править.