Here are the ground rules the framework is built upon:

  1. An update to a business model is an event.

  2. Entities are changed in response to events.

  3. A command has one and only one handler.

  4. A command must result in an event, a rejection, or other commands.

  5. Events are always appended. Never deleted or edited.