While not the only way to accomplish this, a Ren2Program component would allow program shaders to be customizable while still allowing the guarantee of certain features. The component would be responsible for managing how position, layer, texture, and texture coordinate data is used within the actual WebGL program performing the rendering.