Remove SceneObject.shader_program and use the object type to get the shader program from the ShaderModelGroup map instead