Here, I noticed that items was called a lot around the code, and it seemed pretty expensive and unnecessary to execute the code every time. So I've tried to cache the value and update it from _observer.

I didn't get this to a state where I would actually see _observer successfully calling onMutation() at the right time, so _items would remain empty.