// Closures are probably the most important feature Groovy has to offer. Unfortunately, they're
// tricky to understand if you have never done any functional programming.
// In short, Closures are somewhat like function objects. They contain code that may (or may not) be executed at
// a later time and have access to variables you pass into them (as well as implicit and free variables that
// were defined in the environment it was declared in).