This is a temporary holding area since shaders are actually converted into Material objects for use in the engine proper. However, because we have to read in shader definitions en masse (because they are stored in shared .shader files) without knowing which will actually be used, we store their definitions here temporarily since their instantiations as Materials would use precious resources because of the automatic loading of textures etc.