Moved some functionality out of zone.c because it better belongs in zone-model.c.