The migrator keeps calling this function until it's completed (this allows it to be split up over multiple page loads).