wrap node save in a task