https://blog.stackademic.com/unlocking-the-secrets-of-javascript-closures-powering-up-your-code-813c01bd6da0