Use python functools version of update_wrapper