Refactored ArticleManager to invert all dependencies.