Move push_cb function to utils.
Add. ProgressFunction option