-Closures are a bit like classes.
-They have a function inside of them.
-Closures return a function.
-You can create an "instance" of a closure with new Closure().
-Everytime you execute the "instance" you are executing the returned function.
-Counter is the most famous example: everytime you execute a counter() instance, you execute the "increaseCounter" function being returned