Make the cache thread safe
Move package to cache/ to match the name
Make key an interface{} instead of string