Committing changes for memcache and refactoring code to allow support for caching objects in any mechanism