Improving Task.clone and Task._perform