public static bool Query(this object o, string message, out object data, params object[] parameters)
{
var methodInfo = o.GetType().GetMethod(message, ReflectionLibrary.INSTANCE_MEMBER_BINDING_FLAGS, null,
parameters.GetTypeArray(), null);
var valid = methodInfo != null;
data = valid ? methodInfo.Invoke(o, parameters) : null;
return valid;
}