https://softwarepatternslexicon.com/js/idiomatic-javascript-patterns/the-revealing-module-pattern/
Mastering JavaScript: The Revealing Module Pattern Explained