'Return the next service
self.current() will continue to return that service until the
next call to this method.'

def next(self):

    try:
        self._current = self.services.pop(0)
    except IndexError:
        raise StopIteration
    else:
        return self._current
