https://mysteryweevil.medium.com/mastering-mixins-a-practical-guide-to-enhancing-javascript-objects-7df8c412908d