docs: def get_access_token(self):
          """
          If a valid access token is in memory, returns it
          Else feches a new token and returns it
          """
          if self.token_info and not self.is_token_expired(self.token_info):
              return self.token_info['access_token']
  
          token_info = self._request_access_token()
          token_info = self._add_custom_values_to_token_info(token_info)
          self.token_info = token_info
          return self.token_info['access_token']