When you have a process that can return multiple results over time, then .NET Framework Reactive Extensions will let you simplify your code and manage it better. With most methods you just call them ...
Some results have been hidden because they may be inaccessible to you
Show inaccessible results