Abstracting out ShaderStorage so now it can be utilised for more then just shaders.