Concept Flow - Closures
Define outer function
Create inner function
Return inner function
Call outer function -> returns inner
Call inner function
Inner accesses outer's variables
Use preserved variables even after outer ends
Closure happens when an inner function remembers and uses variables from its outer function even after the outer function has finished running.