This also fixes code running in `Update` which shouldn't be, by
consuming the new `NewItemsPresented` callback.
Fields and properties are renamed to knock some sense into things (was
previously called two or three different things).
I'd have preferred a `get; init;` property but tests were also attached
at the hip to the public bindable. Without some extra composition this
is the best that I can do.