First class functions in JavaScript: how comes functions are objects in JS (part 1)