docs: def remote_property(name, get_command, set_command, field_name, doc=None):
      """Property decorator that facilitates writing properties for values from a remote device.
  
      Arguments:
        name: The field name to use on the local object to store the cached property.
        get_command: A function that returns the remote value of the property.
        set_command: A function that accepts a new value for the property and sets it remotely.
        field_name: The name of the field to retrieve from the response message to get operations.
      """
  
      def getter(self):
          try:
              return getattr(self, name)
          except AttributeError:
              value = getattr(self.sendCommand(get_command()), field_name)
              setattr(self, name, value)
              return value
  
      def setter(self, value):
          setattr(self, name, value)
          self.sendCommand(set_command(value))
  
      return property(getter, setter, doc=doc)