This should certainly be possible. One thing to keep in mind is that we use reflection in a few places and in that case a recognizable Java-like signature is required. For example, an agent's methods can be used as data sources and those methods should be public and explicity return a primitive or a String. The groovy default is to make methods public so I don’t think the public needs to be explicit. At any rate, if you are not seeing what you expect, try to match a Java signature.