Octavian> If you pass the context $c to the business model, and the business model
"Octavian" == Octavian Rasnita writes:
Octavian> would need to access the attributes and methods offered by $c, then you
Octavian> won't be able to use that business model outside of Catalyst because you
Octavian> won't have the context variable available.
Technically, that isn't true. Given this is perl, we don't have implicit
type-checking, so you can always use duck typing, ie, build a class that
mimics all the methods available to $c and sons. The real issue is that
your API will be laden with web-based semantics, not business
semantics. The focal point of me bringing this up is that the
implementation is barely what matter in a discussion like this, it's
always about the API semantics.