'return a callable function that wraps func and reports it
output through the verbose handler if current verbosity level
is higher than level
if always is True, the report will occur on every function
call; otherwise only on the first time the function is called'

def wrap(self, fmt, func, level=u'helpful', always=True):

    assert callable(func)
    def wrapper(*args, **kwargs):
        ret = func(*args, **kwargs)
        if (always or (not wrapper._spoke)):
            spoke = self.report((fmt % ret), level)
            if (not wrapper._spoke):
                wrapper._spoke = spoke
        return ret
    wrapper._spoke = False
    wrapper.__doc__ = func.__doc__
    return wrapper
