Make CF3PromiseDraft immutable and remove I/Os