Perl6::Roles handles #5 correctly. The rest weren't requirements of Tim, so I didn't implement them. Please provide an API for each item and I'll gladly implement them. Of course, it'd be best if the API was as close as possible to what P6 roles will do, but I'll consider any suggestion.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?