https://softwarepatternslexicon.com/c-sharp/reactive-programming-patterns/event-sourcing/
Event Sourcing in C#: Mastering State Changes with Event-Driven Architecture