'Decorates a function to enable the waffle flag.'

def decorate(self, func):

    @wraps(func)
    def _give_me_waffles(*args, **kwargs):
        self.make_flag()
        try:
            func(*args, **kwargs)
        finally:
            self.restore_flag()
    return _give_me_waffles
