Instantiate an object instance using a named factory method.
The result of the factory method invocation (the instance).
The method may be static, if the definition parameter specifies a class, rather than a IFactoryObject instance, or an instance variable on a factory object itself configured using Dependency Injection.
Implementation requires iterating over the static or instance methods with the name specified in the supplied definition (the method may be overloaded) and trying to match with the parameters. We don't have the types attached to constructor args, so trial and error is the only way to go here.