public IPushDataController GetDataObserver(IControlToken token) { if (token == null) throw new ArgumentNullException("token"); return new ControlledObserverData(token, this.outputData, token.GetDataForDevice(this)); }