This like the last couple of applications I have inherited. Layers and layers of complexity built into the application, which could be done in a couple of database calls. It means understanding the code takes way longer than it should, and difficult to redactor, as all the extra layers add complexity and little more.