// 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();
        }