add an interface to be implemented by all listeners for light changes