A: 

Dynamic execution in AS3 is much simpler than in other languages. This code:

var methodInvoker:MethodInvoker = new MethodInvoker();

methodInvoker.target = result;
methodInvoker.method = m.name;
methodInvoker.arguments = [m.value];

var returnValue:* = methodInvoker.invoke(); // Fails!

can be simplified to this:

var returnValue:* = result[method](m.value);

EDIT:

Since it's a property, it would be done like this:

result[method] = m.value;

and there is no return value (well, you can call the getter again but it should just return m.value unless the setter/getter do something funky.

Sam
That's great for reducing code and the MethodInvoker dependency. However, it still fails in my case since I really want to set a property value.For example, using the sample metadata I specified above, it fails when it gets to what equates to result["text"]("Hello World!"): TypeError: Error #1006: value is not a function.I'm sure it's because there's no method equivalent of the "text" property. Any idea how to get it to work with properties? I don't think there's an corresponding "setText" method like in some languages. I could be wrong though.
Edward Stembler
@Edward Stembler, did you try `result[method] = m.value;` ? If it's a property, then set it like a property.
Sam
@Sam Well, I removed the MethodInvoker code and replaced it with var returnValue:* = result[m.name](m.value); which is the same as result["text"]("Hello World!");. Is method an object, or can I use a string to reference a method (or property)?
Edward Stembler
@Sam Never mind. I was able to get it to work without the AS3 Commons Reflect library. Not sure what was wrong with my original code. I noticed the "text" property actually shows up as an accessor. Regardless, your suggestion works.
Edward Stembler
@Sam I see what my problem was now in the original code. I still had it calling the incorrect way result[method](value), whereas my test code was using the correct way result[method] = value.
Edward Stembler