This sounds like it is contemplated in your plans already, but here's an example of something I wanted to do:
I subclassed CPAN::Mini and I wanted to do some processing on each new file as it was fetched. The way I ended up doing it was copying and pasting mirror_file() into my subclass, and then adding a line after if ( $status == RC_OK ) saying $self->post_mirror($local_file) and doing all the postprocessing in post_mirror(). It would have been more convenient if the base class already had that hook, with an empty post_mirror() by default.