As I confessed earlier,
I am a big fan of properties, whether they are implemented in C# or Ruby. 
Not a day goes by without me missing them thoroughly in Java land, as I
tirelessly write an endless stream of "int m_foo; public int getFoo() { …};  
public void setFoo(int n) { …}" (actually, my IDE does that for me but it’s
still a waste of space and it gets in the way of readability).

How come I am not surprised that James found such a neat way to
solve this conundrum in Groovy?

James call them POGO’s (Plain Old Groovy Objects), and declaring them is as
simple as declaring your fields public.  The Groovy compiler takes care of
generating the boiler plate accessors without them getting in the way of your
published interface.  I think it’s important to be able to control the
access to your fields, but I also believe it’s very important for this access
code not to obfuscate your code more than necessary.

Once again, Groovy hits the perfect sweet spot between Ruby and C#.

Well done, James.