https://ideas.creativecasinoties.com/post/7-behavioral-patterns-that-reveal-the-source-code-9vv3cw