//! # Event
//! Events are the basic unit in Weapon's data model. The application state is simply the result of applying a sequence of events. Events are what is saved in persistent storage.
//! For robustness, events must be versionable. This means there is another type that is a "versioned" version, which is the one that is stored on disk/in supabase/etc.
//! This ensures that we can evolve the data model without breaking existing data.