add a callback to prograss task