model refactoring, library refactoring, individual lights controlled successfully via same interface