I'd like to be able to use multiple engines for the same query: - fetch from memory if found - otherwise fetch from Redis - otherwise fetch from MongoDB - otherwise fetch from an external API