The best thing we can do is to provide enough information inside the message to fulfill the original use case we considered in our initial design, but also to make it usable for new microservices we haven’t thought of yet. A good starting point is to include the ID of the major Bounded Contexts entities involved or related to the fact we are communicating with this event. Of course, this will break the Law of Demeter, new microservices will need to traverse several entities, but this is a tradeoff we need to make. And that is what software architecture is all about, how to make good tradeoffs in order to have the best possible system. The ability to follow the OCP principle is something so important and useful that sometimes justifies breaking the Law of Demeter.
Source: The Open-Closed Principle at an Architectural Level – DZone Microservices