I would start with Plugin::Tiny and also take an elevated view of known plugin systems like DBI and Template (Template::Plugin). I myself would like to incorporate such a plugin system and replace my "preset" modules inside Spreadsheet::HTML. This would allow others to publish their own CPAN modules without needing to submit patches/pull requests to me. This is what i feel a plugin system is for: allowing external code to be attached to your own, to flow through your code (be it an engine or framework) without changing that codebase.
(the triplet paradiddle with high-hat)