Consolidate more functionality into Shader class.