There is no need to pass into the constructor if you want to use it in other places. Because React automatically set it for you 
a constructor is a special method used to initialize a newly created object once memory has been allocated for it
Modules are an integral piece of any robust application's architecture and typically help in keeping the units of code for a project both cleanly separated and organized.
* The Revealing Module Pattern
The result of his efforts was an updated pattern where we would simply define all of our functions and variables in the private scope and return an anonymous object with pointers to the private functionality we wished to reveal as public
* What is prototypical inheritance
* Variable and function hoisting
* Currying - Currying is a way of constructing functions that allows partial application of a function’s arguments. What this means is that you can pass all of the arguments a function is expecting and get the result, or pass a subset of those arguments and get a function back that’s waiting for the rest of the arguments.
The Compiler is one of Engine's friends; handles all the dirty work of parsing and code-generation (see previous section).
Scope is another friend of Engine; collects and maintains a look-up list of all the declared identifiers (variables), and enforces a strict set of rules as to how these are accessible to currently executing code.