Helper method to reduce some boilerplate with :module:`aiohttp`.
        
        Args:
            term: The term to search for. Optional if doing a random search.
            random: Whether the search should return a random word.
        
        Returns:
            The JSON response from the API.
        
        Raises:
            UrbanConnectionError: If the response status isn't ``200``.
            WordNotFoundError: If the response doesn't contain data (i.e. no word found).

async def _get(self, term: str = None, random: bool = False) -> dict:
        """Helper method to reduce some boilerplate with :module:`aiohttp`.
        
        Args:
            term: The term to search for. Optional if doing a random search.
            random: Whether the search should return a random word.
        
        Returns:
            The JSON response from the API.
        
        Raises:
            UrbanConnectionError: If the response status isn't ``200``.
            WordNotFoundError: If the response doesn't contain data (i.e. no word found). 
        """
        params = None
        if random:
            url = self.RANDOM_URL
        else:
            params = {'term': term}
            url = self.API_URL

        async with self.session.get(url, params=params) as response:
            if response.status == 200:
                response = await response.json()
            else:
                raise UrbanConnectionError(response.status)

        if not response['list']:
            raise WordNotFoundError(term)

        return response