Isn't this the same cache as before? Make it a service?