It was meant to separate things one would expect subclasses to override from "private" stuff.  But in review, I see that this wasn't done right anyway, because it's reasonable and expected to be able to override `arrangedContentDidChange`, `arrayContentDidChange` &c. and the division doesn't really happen until we get to `subContainers`.

On a similar note, I can't discern a consistent pattern regarding this sort of thing.  Should `subContainers` be `_subContainers` to denote that we really don't want subclasses messing with it?