Using Cache object in all the resources, and using cresSet as monitor, making hash compatible with weak_ptr and other adjustments