Zayuzat once again abstract factory, and suddenly remember that a class method should not refer to objects which were returned by any method.
The factory returns the object's interface, which was specially introduced to provide generalized access to different types of objects created by the factory. Factory users interact with interfaces, not with the objects themselves. Thus the user of the factory does not depend on the modules implementing the specific objects. The law of Demeter is needed in order to reduce the gearing between the modules. Follow the spirit of the law, not the letter.