private void InitialSetup()
        {
            _isInitialized.Value = true;
            _status.Value        = ViewStatus.None;

            _viewModelLifeTime.AddTo(LifeTime);
            _progressLifeTime.AddTo(LifeTime);

            LifeTime.AddCleanUpAction(() =>
            {
                _isInitialized.Value = false;
                IsTerminated         = true;
                ViewModel            = null;
                SetStatus(ViewStatus.Closed);
                _status.Release();
                _visibility.Release();
            });
        }