The reason the values were being sent is that they are stored internally in one register per 16 inputs; therefore we needed to implement state tracking to properly distinguish which of the 16 inputs for a given register actually changed.
Apologies for the issues.