We should find some way that when you set data on TableViewController 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 Row protocol which returns if the change has affected the drawn UI.