I am not sure I get this.

We use virtual fields many of the OpenRuth profile fields so how can the values be stored on the entity? Does this only work because of caching of the entities?