Groovy DSL: creating dynamic closures from Strings
===

There are some other questions on here that are similar but sufficiently different that I need to pose this as a fresh question:

I have created an empty class, lets call it Test. It doesn't have any properties or methods. I then iterate through a map of key/value pairs, dynamically creating properties named for the key and containing the value... like so:

    def langMap = [:]
    langMap.put("Zero",0)
    langMap.put("One",1)
    langMap.put("Two",2)
    langMap.put("Three",3)
    langMap.put("Four",4)
    langMap.put("Five",5)
    langMap.put("Six",6)
    langMap.put("Seven",7)
    langMap.put("Eight",8)
    langMap.put("Nine",9)

    langMap.each { key,val ->
        Test.metaClass."${key}" = val
    }

Now I can access these from a new method created like this:

    Test.metaClass.twoPlusThree = { return Two + Three }
    println test.twoPlusThree()

What I would like to do though, is dynamically load a set of instructions from a String, like "Two + Three", create a method on the fly to evaluate the result, and then iteratively repeat this process for however many strings containing expressions that I happen to have. 

Questions:
a) First off, is there simply a better and more elegant way to do this (Based on the info I have given) ?
b) Assuming this path is viable, what is the syntax to dynamically construct this closure from a string, where the string references variable names valid only within a method on this class?

Thanks! 