It's legal to cache big strings of data? eg.:
Shader Text File
Scene Text File
etc...
If I need to cache the objects itself I would have:
map<key, Scene>
I think is good to have just one Scene and a function inside to load it from a stream/source.