This will instantiate a Request with the proper values, and then
        store it in self[label].
        :param method: str of the html method ['GET','POST','PUT','DELETE']
        :param _url: str of the sub url of the api call (ex. g/device/list)
        :param kwargs: dict of the request params (URN),
                        data can be sent as a params
        :return: api_call object of the response

def request(self, method, _url, **kwargs):
        """
        This will instantiate a Request with the proper values, and then
        store it in self[label].
        :param method: str of the html method ['GET','POST','PUT','DELETE']
        :param _url: str of the sub url of the api call (ex. g/device/list)
        :param kwargs: dict of the request params (URN),
                        data can be sent as a params
        :return: api_call object of the response
        """
        if self.base_uri and _url.startswith(self.base_uri):
            _url = _url[len(self.base_uri):]
        api_call = self._create_api_call(method, _url, kwargs)
        data = self._clean_arguments(kwargs.pop('data', None))
        params = self._clean_arguments(kwargs)

        api_call.set_request(method=method,
                             data=data,
                             params=params,
                             sub_url=_url)

        api_call.send()
        return api_call