Will this issue be worked on?
The assignment of Closures to methods of object instances defined in Groovy provides a very useful and simple tool for mocking in our application - Java app with Groovy extensions. Most (if not all) our Groovy implement a Java interface. The desired solution is what's described - override only the object instance. This provides the ability to create multiple instances of the same class with control over which object instances have overridden methods. Reseting the method to its original state is straightforward - object.metaclass = null.
However, the workaround overrides the class definition - not desirable, because it's more permanent. Every instance of the class has an overridden method - not specific instances. Also, I cannot figure out how to reset the class definition to it's original state (reset).