https://legaldesignsandbox.com/articles/design-patterns-for-contracts/