Cache service

To the user it looks like a sync method, but in reality it is not. This will be confusing for developers. The same comment applies to all other methods which do not have AsyncCallback argument