An Inversion of Control framework for Perl