public IDisposable BeginScope <TState>(TState state)
        {
            var scope = new ElmScope(_name, state);

            scope.Context = ElmScope.Current?.Context ?? GetNewActivityContext();
            return(ElmScope.Push(scope, _store));
        }