Hmm.. chaining sometimes refers to calling a series of methods on the same object when they are set up to return $self, so I'm not sure that'd be better. How about Class::PrePostHooks? I think that makes the idea pretty clear. As for features, since you're writing a module, it would be nice if you also had a away of removing hooks in retrospect.