public void Load(string path)
        {
            string output = File.ReadAllText(path);

            var markovEntries = output.Split('\n');


            for (int x = 0; x < markovEntries.Length; x++)
            {
                if (markovEntries[x].Trim() != string.Empty)
                {
                    var keywords       = markovEntries[x].Split(' ');
                    var newMarkovEntry = new MarkovEntry()
                    {
                        totalCount = int.Parse(keywords[1])
                    };

                    for (int i = 0; i < keywords.Length; i += 2)
                    {
                        string value = keywords[i];
                        int    count = int.Parse(keywords[i + 1]);

                        newMarkovEntry.Entries.Add(new Entry(value)
                        {
                            Count = count
                        });
                    }

                    this.Entries.Add(keywords[0], newMarkovEntry);
                }
            }
        }
        public void Add(string key, string entry)
        {
            if (!this.Entries.ContainsKey(key))
            {
                Entries[key] = new MarkovEntry();
            }

            Entries[key].Add(entry);
        }