“Is it possible to build a fact event with some sort of reason as to why it was created?” The answer to this is yes, and the event type is known as a composite event. It’s helpful to think of these as both a combination of fact and delta. In this example, our cart fact includes an item_added_to_cart reason. You can also create composites that have before and after fields. This composite is the same before and after event we saw earlier in this module, but now it contains a reason field as well.
Your consumers can choose to react in different ways depending on the reason for the change. As an alternative, you can build your composite event as a delta with some state.ConfluentFact vs. Delta Event Types | Events and Event Streaming
All things being equal, this is what I usually choose for my event-based systems. But usually you have to deal with a limitation preventing this.Josh Beckman