+ 1

Interfaces are a cool concept and we should use them and adhere to them conceptually
I am tempted to deprecate #definesMethod: and just rename it to canUnderstand: (and fix all senders)
This way the RB model for code would be one step closer to normal classes and methods.