docs: def update(self, properties=None):
          """Updates the properties being held for this instance.
  
          :param properties: The list of properties to update.
          :type properties: list or None (default). If None, update all
          currently cached properties.
  
          """
          if properties is None:
              try:
                  self.update_view_data(properties=list(self._cache.keys()))
              except AttributeError:
                  # We end up here and ignore it self._cache doesn't exist
                  pass
          else:
              self.update_view_data(properties=properties)