Shader must be set via the GraphicsDevice and changed some method names to resemble what actually happens in GraphicsDevice.