We should find some way that when you set data on CollectionViewController we can only reload cells that actually need it. Might need to move away from data being an array, or possibly have a function on the CollectionItemDisplayable which returns if the change has affected the drawn UI.