// ITask public void Start() { Assert.IsFalse(_gameService.Ready.Value); IDisposable d = null; d = _gameService.Ready.Subscribe(value => { if (!value) { return; } // ReSharper disable once AccessToModifiedClosure d?.Dispose(); Complete.SetValueAndForceNotify(true); }); _gameService.Initialize(); }