in reply to Perl OO best practice?

Seems that this module receives an object reference as part of it's API, then calls methods in the other object without actually "use'ing" the other ojbect.

Sure, that's fine. You want to be able to handle objects which implement a known API that you'll use without caring how they do so. If you couple the use of specific packages to the uses of objects of the given classes, you run the risk of violating that encapsulation.