That makes sense. I guess it would be good practice then to create new models inside your own package when you need to interface with other packages. This isolates the code that is dependant on the referenced package to exist.
Looking at standard now, it is full of examples that work like this... :) I seem to always have had the cart before the horse in my mind. Thanks... I really got a whole new (correct) perspective on this today.