internal DerDieDasData(string dataToParse, IArticleFactory articleFactory)
        {
            ParamValidator.EnsureParametersAreValid(new NullValidatorWithValue<IArticleFactory>(() => articleFactory, articleFactory));
            ParamValidator.EnsureParametersAreValid(new StringValidatorWithValue(() => dataToParse, dataToParse));

            var dataParsed = dataToParse.Split(new[]{','}, StringSplitOptions.RemoveEmptyEntries);
            if (dataParsed.Length != 3)
                throw new InvalidDataException(string.Format("Invalid data to parse: {0}", dataToParse));

            _article = articleFactory.CreateArticle(dataParsed[0]);
            _verb = dataParsed[1].Trim();
            _verbPlural = dataParsed[2].Trim();
        }