Instead of testing promises with then, we should use Task and yield each promise until it's complete.