Let's refactor all this revision history code to use promises.