Whether the difference in data should result in a relayout, defaults to the alwaysRelayout argument provided to our constructor.
bool shouldRelayout(T oldData) => _alwaysRelayout;