reduce logic for caching the promises, and reduce distribute cache gets method.