Add `update_wrapper` method to preserve argspecs for decorated functions so that things like pytest fixtures will continue to work