Event-First Variant

An event-first command will not write any data to a database. The command will wrap the data in a domain event and publish it to one and only one stream. The stream acts as a temporal database that will durably store the event until it expires from the stream. One or more downstream components will consume the event from the stream. Each component will trigger a command to atomically write the data to one and only one database as needed.