So...Foo could override the method in Bar and then call Foo::SUPER->method ? That would work but what if I want to do the same with modules in the future I know nothing about, sort of like a plugin? Maybe there is a better way or my thinking is all wrong. I dont' want to always be updating pacakge Foo. I want Foo to dynamically load Bar, Baz..others (from a config file), basically override the methods for the intercept and then call the method. Also, if I use plain old ISA I could have conflictig method names: Bar->method1, Bax->method1.