Concept Flow - Closures and variable capture
Define outer function
Create inner function
Inner function captures outer variable
Return inner function
Call inner function later
Inner function uses captured variable
A closure is a function that remembers variables from its surrounding scope even after that scope has finished.