Higher-Order Functions in JavaScript - Explain Like I'm Five