I'm thinking that you'd want to have the nice features of Groovy's full reflection when you can have them.
The current design, where the GroovyObject is devined from the bytecode of the class file is probably correct.