The reason for the change is that the `CachedNode` interfaces expose node properties as iterators as opposed to collections. Therefore, when passing those properties to the monitor for indexing (in the case of remote events) I would've had to collect them in a collection.

I do agree with the point about multiple monitors, but IMO given the way we use monitors atm, it doesn't seem likely that we'll have multiple monitors operating on the same set of properties. If sometimes in the future this will be the case, we can easily add an overloaded method.