added a cacheKey option with a couple of tests; this option allows the implementer to do things like group a bunch of requests by cacheKey and delete them together if needed, or something like cache the same request but with multiple instances ... if they wish