Rx is extremely powerful but out of the box provides nothing to assist with managing collections. In most applications, there is a need to update the collections dynamically. Typically a collection is loaded and after the initial load, asynchronous updates are received. The original collection will need to reflect these changes. In simple scenarios the code is simple. However, typical applications are much more complicated and may apply a filter, transform the original dto and apply a sort. Even with these simple everyday operations, the complexity of the code is quickly magnified. ...