pub trait EventSourcedEntity:
Send
+ Sync
+ Debug
+ 'staticwhere
Self::Command: Debug + Send + Sync + IsFullPopulationCommand,
Self::Event: Clone + Debug + Send + Sync,
Self::PersistenceId: Display,{
type Command;
type Event;
type PersistenceId;
// Required methods
fn persistence_id(&self) -> Self::PersistenceId;
fn handle_command(&self, command: Self::Command) -> Result<Vec<Self::Event>>;
fn apply_event(&mut self, event: Self::Event);
}