What are functions?
Using functions as objects
Understanding call-and-apply invocation
Using the arguments parameter
Understanding hosting and variable scope
Chaining module method calls
Creation JS Object
Using design pattern to create objects