r23485: This checkin consists mostly of refactorings in preparation of the