in reply to How to make plugins

Take a look at Class::AutoPlug. It lets you take an existing nonpluggable class and turn it into a pluggable one almost painlessly.

Disclaimer: I wrote it and did a presentation on it at YAPC last year.