Try as I might, I can't get two instances of a class to have different inheritance trees at the same time. @ISA is a package variable, so changing it affects all instances. Hmm, can @ISA be tied? You'd have to invalidate the cache every time you did anything and this would be bad, wicked, evil, wrong, etc., but I'm still curious to know if it can be done.
ACME::DiddleMyInc needs to be written!