Simple promises with progress monitoring