Extracted out zone functionality into a HasZones mixin.