/// <summary>
        /// get a list of topics
        /// </summary>
        public IEnumerable <Topic> GetTopics()
        {
            if (_storage.Size == 0)
            {
                _storage.UserProperties.Add(TopicDataString, OlUserPropertyType.olText);
                _storage.UserProperties[TopicDataString].Value = string.Empty;
                _storage.Save();
            }

            var topicStrings = ((string)_storage.UserProperties[TopicDataString].Value)
                               .Split(new[] { TopicSeperator }, StringSplitOptions.RemoveEmptyEntries);

            var topics = from t in topicStrings
                         let parts = (t + TopicTitleDescriptionSeperator).Split(new[] { TopicTitleDescriptionSeperator }, StringSplitOptions.None)
                                     select new Topic()
            {
                Title = parts[0], Description = parts[1]
            };

            return(topics);
        }