Simplified the acceptance test.
Introduced the disposed field instead of making other field null,

because making null can throw null reference exception on
multi-thread environment.
Made the Select method asynchronous.
Addressed greedy constructor of Article.
Added guard-clauses for empty string.