Well, so far, so good. This approach looks very promising. I've converted one module over so far and it works. Thanks a lot.
One thing I wanted to accomplish with this module is to get a much better feel for OO Perl. I'm not sure what goes on under the hood with roles. My old Damian Conway book from like 2000 makes no mention of them. You know any good resources for learning about how they accomplish their jobs? I noticed the classes get tacked with a __WITH__ and then the name of the role.
Roles are not part of the Perl language so they must be implemented via modules. The minutiae of the mechanisms for implementing roles will depend on which module you use. As ever, if you want to know the implementation details you only need to look in the source.
More recent books such as Modern Perl by chromatic do mention roles but (quite reasonably) don't delve into the underlying mechanisms.
This is the fascinating part about programming. Out there, in the oblivion, lies some mythical optimal solution. The really good programmers can intuit their way to that solution, or at least get closer to it faster, than inexperienced ones.