public async Task Delete(MarkovModel markovModel)
        {
            Context.Entry(markovModel).Collection(x => x.States).Query()
            .Include(x => x.Snapshots)
            .Include(x => x.Transitions).Load();

            foreach (var state in markovModel.States)
            {
                foreach (var transition in state.Transitions)
                {
                    Context.Remove(transition);
                }

                foreach (var snapshot in state.Snapshots)
                {
                    Context.Remove(snapshot);
                }

                Context.Remove(state);
            }

            Context.Remove(markovModel);
            await Context.SaveChangesAsync();
        }