https://medium.com/@nikitinsn6/the-decorator-design-pattern-revolutionizing-the-way-we-write-code-with-example-9f2151c50135