Worked out logic to replacing objects when an object has been updated in cache
Added SitecoreFieldIEnumerableMapper fields to a related cache
some cahnges for caching