def wait(method):
    """
    Decorator to wait for previous timers and to start a new one on exit

    :param:

     - `method`: method to wrap with a timer.wait call

    :return: wrapped method
    """
    def _method(self, *args, **kwargs):
        # wait if timer is running but only up until the time-limit
        self.timer.wait(self.timer.seconds)
        self.timer.clear()
        outcome = method(self, *args, **kwargs)
        self.timer.start()
        return outcome
    return _method