Caching for entity-based services
Currently, entities are requested multiple times in a short time-span through resolvers when navigation through the views of a room. Entities could be cached in the services but we need to make sure that the items in the cache do not become outdated. Therefore, items need to be either updated or evicted on changes. The client can listen to WebSocket events to get notified about those changes. Furthermore, some safe guards are necessary to avoid or handle invalid cache states (e.g. in case of missed events because of interrupted connection).