Beginnings of IlluminationModel abstract class