Adds general promise support