contract ZoneDefinition is ERC165, IZone, FurProxy {
  uint override public number;

  string override public name;

  string override public background;

  constructor(address furballsAddress, uint32 zoneNum) FurProxy(furballsAddress) {
    number = zoneNum;
  }

  function update(string calldata zoneName, string calldata zoneBk) external gameAdmin {
    name = zoneName;
    background = zoneBk;
  }

  /// @notice A zone can hook a furball's entry...
  function enterZone(uint256 tokenId) external override gameAdmin {
    // Nothing to see here.
  }

  function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
    return
      interfaceId == type(IZone).interfaceId ||
      super.supportsInterface(interfaceId);
  }
}
function enterZone(uint256 tokenId) external override gameAdmin {
  // Nothing to see here.
}

/// @notice A zone can hook a furball's entry...