On Wed, Sep 21, 2011 at 9:20 AM, Stevan Little <stevan.lit...@iinteractive.com> wrote: > I suspect that actually, that the distinguishing feature of this code is that > it is an FSA and not a Role. The fact it is a Role only means you can not > instantiate it directly and must compose it into a class. This actually > strikes me as a drawback more then a benefit. > > Why not call it Something::FSA (or something similar, your choice) and slap a > simple concrete class that consumes the role into it. THe result might look > something like this: > > lib/Something/FSA.pm # simple concrete class > lib/Something/FSA/Role.pm # your role
++ Similar concept: Data::Visitor shipping with Data::Visitor::Callback. hdp.