Fixed always calling will/did change callbacks when delegate doesn't respond to fine-grained callbacks.
Refactored method for calculating section and object differences into smaller helper methods.