With Closures we can define methods independently from Classes.
That way, you can scale them independently from your main application.
Also since Cayenne query cache is pluggable, users can rely on event mechanism of their cache provider to implement JMX monitoring of cache independently from Cayenne.