def poll_until(self, state, interval=2):
        """
        ::
        
            GET /:login/machines/:id
        
        :param state: target state
        :type state: :py:class:`basestring`
        
        :param interval: pause in seconds between polls
        :type interval: :py:class:`int`
        
        Convenience method that continuously polls the current state of the 
        machine remotely, and returns until the named `state` argument is 
        reached. The default wait `interval` between requests is 2 seconds, 
        but it may be changed.
        
        .. Note:: If the next state is wrongly identified, this method may
            loop forever.
        """
        while self.status() != state:
            time.sleep(interval)