private ControlledObserver<Color> GetControlledObserverColor(IReceivesColor device) { ControlledObserver<Color> observer; if (!this.deviceObserversColor.TryGetValue(device, out observer)) { observer = device.GetColorObserver(); this.deviceObserversColor.Add(device, observer); } return observer; }