docs: def load(self, response):
          """The load method parses the raw JSON response from the server.
  
          Most models are not returned in the main response body, but in a key
          such as 'entity', defined by the 'data_key' attribute on the class.
          Also, related objects are often returned and can be used to pre-cache
          related model objects without having to contact the server again.  This
          method handles all of those cases.
  
          Also, if a request has triggered a background operation, the request
          details are returned in a 'Requests' section. We need to store that
          request object so we can poll it until completion.
          """
          if 'href' in response:
              self._href = response.pop('href')
          if self.data_key and self.data_key in response:
              self._data.update(response.pop(self.data_key))
              #  preload related object collections, if received
              for rel in [x for x in self.relationships if x in response and response[x]]:
                  rel_class = self.relationships[rel]
                  collection = rel_class.collection_class(
                      self.client, rel_class, parent=self
                  )
                  self._relationship_cache[rel] = collection(response[rel])
          else:
              self._data.update(response)