First cut at promise transforms.