finished StoplightGrid implementation