Take in mind the conceptual design of trafic light is very simple comprised of few machine states.
However, real systems must work with others situations :
--> Perform a self-test of all lamps, and inform visually if there are some fired ( i.e.: flashing the yellow one ), and output to others trafic light.
--> Have input and output chanels, in order to communicato to others on same square street, or recive status of other one.
--> Be remotelly controlled.
+++