I’m actually now wondering whether removing it was a good idea. I definitely don’t want to bring back the rest of the Action _classes_, but GroovyChainAction was probably useful enough to justify the potential confusion in the point of this class.
The problem I have with it is that things can go wrong when you nest them inside other classes, and get method signatures wrong. You end up calling some other method when you thought you were calling the chain method. You don’t have this problem with a fluent API. That said though, Groovy programmers already deal with this on a day to day basis with nested closures and dynamic delegation. Even more-so, the Groovy.chain() method still supports this style.
I’m ok with bring GroovyChainAction back (perhaps under a different name), but don’t want to bring back ChainAction, BindingsSpecAction etc. That is, this will be a Groovy convenience.