Catalyst is Moose based these days, and you can always use Moose based modules for your own code and then call them from the framework (worst case senario would be that you write a light-weight wrapper around your module for your model, controller or view).