Began separating Material and Shader (needs to be cleaned up still)