code: def result(self, property, *args):
          
          if self.obj is None:
              return self._wrap(self.obj)
  
          if(hasattr(self.obj, property)):
              value = getattr(self.obj, property)
          else:
              value = self.obj.get(property)
          if _.isCallable(value):
              return self._wrap(value(*args))
          return self._wrap(value)
docs: If the value of the named property is a function then invoke it;
          otherwise, return it.