hold current state ☞ Command handlers validate incoming commands against current state ☞ Event handlers transform the command into event/s and trigger the aggregate to update their state
calculating current state, store that aggregation in a snapshot table. ☞ Read from snapshot table and apply the new events to that to derive new current state. ☞ Do this nightly, weekly, after every event - w/e works for you