Add a Progressor class and promise.