Added a method on Block that is used to set the block's contents. This method manages changes to the subscriptions to notifications on the new and old contents.
Modified the BranchPoint's delegate that is responsible for trees of blocks. Now SetContents is always broadcast even when the contents doesn't change. This was necessary for the Calendar since the order of collections in the contents may have changed, which requires a screen update. So it is now the responsibility of the SetContents handler to avoid unnecessary work when the contents doesn't change if that is appropriate.
Realized, after following up with pje, that shared attributes that existed in the parcel XML world no longer exist in the new Python alternative. He suggested using annotiations.