Should this return a copy of mDesc to prevent the caller from mutating it?

Any reason FamilyLayout.getDesc() is missing?