Closure in Javascript explained https://medium.com/@prashantramnyc/javascript-closures-simplified-d0d23fa06ba4