In `RssFeed::addArticle` we do a `markAsDirty()`. Doesn't this flag need to be reset on failure?