https://levelup.gitconnected.com/entities-and-aggregates-the-heart-of-domain-driven-design-explained-2f6ae9423eae