This `AsReactive` call feels weird because we already have a `ReactiveList` here. Would it be possible to have `ReactiveCollection` and `ReactiveList` implement the necessary interfaces so this isn't necessary? Should we?