def send_async(self, callback, strict_validation=True):
        """Same as send() but in a non-blocking way.
        
        Use this method if you want to send the request asynchronously so your 
        program can do other things while waiting for the response.
        
        `callback` is a function (or other callable) with the following 
        signature:
        callback(response=None, error=None)
        
        Example:
        
        >>> from osrframework.thirdparties.pipl_com.lib.search import SearchAPIRequest
        >>>
        >>> def my_callback(response=None, error=None):
        ...     print response or error
        ...
        >>> request = SearchAPIRequest('samplekey', email='eric@cartman.com')
        >>> request.send_async(my_callback)
        >>> do_other_things()
        
        """
        def target():
            try:
                response = self.send(strict_validation)
                callback(response=response)
            except Exception as e:
                callback(error=e)
        threading.Thread(target=target).start()
Same as send() but in a non-blocking way.
        
        Use this method if you want to send the request asynchronously so your 
        program can do other things while waiting for the response.
        
        `callback` is a function (or other callable) with the following 
        signature:
        callback(response=None, error=None)
        
        Example:
        
        >>> from osrframework.thirdparties.pipl_com.lib.search import SearchAPIRequest
        >>>
        >>> def my_callback(response=None, error=None):
        ...     print response or error
        ...
        >>> request = SearchAPIRequest('samplekey', email='eric@cartman.com')
        >>> request.send_async(my_callback)
        >>> do_other_things()