Another subtle benefit of concrete objects (i.e. using the language's built-in syntax and semantics for dealing with objects) over plain closures has to do with types. ("What? A focus on types in a dynamically typed system?" Yes.)
There are relevant complaints from C programmers like Linus and Joel Spolsky about having to track down, say, what an operator does or what a given method does, based only on what's written at the callsite. But C has function pointers, which sometimes get used like lambdas, and which presents opportunities in pathological cases for the exact same thing confusion.
1. It's the pathological use that's the problem and not the opportunity itself
2. By using built-in object syntax tastefully, the programmer can be nudged into "concretizing" the sorts of things that people look to find at written at the callsite to eliminate the confusion/tedium that people complain about when they speak out against "OO".