entity cache implementation based on Guavas loading cache