https://academy.fpblock.com/blog/2017/06/readert-design-patt... is the classic explanation of this pattern