public Presenter(ICrossroadsView crossroadsView, ITrafficLightController controller) { CrossroadsView = crossroadsView; Controller = controller; RoadATrafficLight = new CarTrafficLight(TrafficLightType.RoadATrafficLight); RoadBTrafficLight = new CarTrafficLight(TrafficLightType.RoadBTrafficLight); PedestrianTrafficLight = new PedestrianTrafficLight(TrafficLightType.PedestrianTrafficLight); Controller.AddTrafficlight(RoadATrafficLight); Controller.AddTrafficlight(RoadBTrafficLight); Controller.AddTrafficlight(PedestrianTrafficLight); CrossroadsView.UserChangeMode += CrossroadsView_UserChangeMode; RoadATrafficLight.StateChanged += RoadATrafficLight_ChangeSignal; RoadBTrafficLight.StateChanged += RoadBTrafficLight_ChangeSignal; PedestrianTrafficLight.StateChanged += PedestrianTrafficLight_ChangeSignal; }