Use @wraps from functools rather than manual setting of __name__