'A decorator for a function. Service is triggered on return.'

def after(self, fn):

    @functools.wraps(fn)
    def wrap(*args, **kws):
        with self:
            return fn(*args, **kws)
    return wrap
