now stringifying/parsing stuff in the 'memory' store

There are some unexpected behaviors in the memory store because things still share the same object reference (which would be unlike any other real-world cache-store). If I modify the object after it comes back from cache, then it's actually modifying the cached object, which seems incorrect. This will force a new object in memory. Thanks @sracz-trada