private object Set(object o, Type type, string name, object value)
 {
     Dispatcher dispatcher = new PropertyDispatcherFactory(_extensions, o, type, name, value).CreateSetter();
     return dispatcher(o, new object[] { value });
 }
 private object Get(object o, Type type, string name)
 {
     Dispatcher dispatcher = new PropertyDispatcherFactory(_extensions, o, type, name).CreateGetter();
     return dispatcher(o, null);
 }