cache delayed promises