Remove reliance on internal structure for emptiness test

By using `isEmpty` instead of querying the internals of the collection we can reduce the coupling between the collection's data-structure and the view.