made creation of a new object for a given key an atomic operation

so that if concurrent requests for the same uncached key happen,
only one call to the storage will be made to serve all the requests