Cells should not be reused if button state changes

This adds additional support if someone wants to change button state to
selected. We just have to make sure that we check for button state and
redraw the cell if they have changed.