Wishbone: I don't even know what to say to that. Is there a particular reason for such a convoluted solution? It sounds like something someone implemented at some point in the past, because he found out that it was technically possible and thought it would be cool to try.
Doing it yourself, raw? No, it's not really a good idea because it's easy to mess up. Yes, there are reasons to do it, it's one way to implement Aspect Oriented concepts, such as dynamically adding transactional behavior to a layer, as an example.
There's people on both sides of the fence on this one and I don't think there's an clear side that has a monopoly on being "right". It just happens to be it's useful for some things and saves a lot of development resources. The bitch is this particular framework needed updating long before this and no one got around to it, which is not as excusable as I'd like it to be.
orcishgamer: (we have no dedicated QA, bad idea, but I don't write the checks).
wodmarach: I've actually seen coders walk out over that. One got yelled at for not catching a non-obvious bug first 2 times he told them to hire QA the third time he handed them his notice took his holiday and walked out (he'd already lined up a job with another company but hoped the managers would finally get a QA in)
If I was being verbally abused over it I'd do the same, as it is, I'm not being verbally abused for it, we just suffer from shoddy testing and production issues that shouldn't have happened. So long as the clients keep paying the management seems happy with the status quo and we get treated well enough. I get other benefits from working there so I try and think of the bright side of the job.