I don't think that Class::Null is really the Null design pattern, despite what it says. The pattern is for a stand-in collaborator who doesn't do anything, not something you add to a module to handle calls to undefined methods. Your module shouldn't ever have to know it is using a null object.