https://blog.stackademic.com/from-confusion-to-clarity-mastering-javascripts-this-keyword-31d96038c58e