It's a big app so I didn't want to bog anyone down with the details, although I should have provided a test case. Your answer actually brought me to the solution though. It turns out that the $self->render_json method from Mojo was not being over-ridden correctly, and was therefore never calling the "serialize" method just as you suggested. So, I thank you very much for giving me a hint and leading me down the correct path. Next time, I will provide a test case that demonstrates the issue a little more clearly.