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.

This is the start of something bigger, but is fine standalone, so I thought I'd do a cheeky Friday afternoon PR.

![](http://media.giphy.com/media/mSXSC0vivvygw/giphy.gif)