It such a old legacy code, with some noob trying to use Object programming with contructor which form "html" string.. what the hell?
Even the template wasn't using proper include file, with mixture of multiple include file which depend on each other to complete the proper tag! Why?? Tell me why!!?
And most of all, please create hooks!
This is the new way of doing things! so everyone can edit the function without having to hack your source code core! Ppl need to be able to update without such hassle!