Javascript Masterclass: Demystifying call(), apply(), and bind()