'Wait up to timeout seconds for first result to come in.
:param timeout: seconds to wait for results
:returns: first item to come back, or None'

def waitfirst(self, timeout):

    for result in self._wait(timeout, first_n=1):
        return result
