public RealCarCommunicator(ICar parent) { ICar = parent; extentionCardCommunicator = new USB4702(); servoDriver = new ServoDriver(); angleAndSpeedMeter = new RS232Controller(this); //TODO: make thread for every initialization //its actually done for angleAndSpeedMeter extentionCardCommunicator.Initialize(); servoDriver.Initialize(); angleAndSpeedMeter.Initialize(); SpeedMeasuringTimer.Interval = SPEED_MEASURING_TIMER_INTERVAL_IN_MS; SpeedMeasuringTimer.Tick += new EventHandler(SpeedMeasuringTimer_Tick); SpeedMeasuringTimer.Start(); }