Код с точки зрения ООП бессмысленный. Ну и вообще тоже все совсем не очень хорошо. На ревью пришлось бы переписывать все заново. Но это не негатив, а просто с первого раза сложно ожидать чего-то. Вот любой алгоритм можно легко описать в процедурном стиле, но люди пользуются ООП, это дает вполне ощутимые преимущества при разработке и поддержке. Какие преимущества дает этот код?
Была бы у вас личка я бы подробнее объяснил.