public function __construct($name, $title = null, $value = '', $extension = null, $areaCode = null, $countryCode = null)
 {
     $this->areaCode = $areaCode;
     $this->ext = $extension;
     $this->countryCode = $countryCode;
     // Build fields
     $fields = new FieldList();
     if ($this->countryCode !== null) {
         $countryField = NumericField::create($name . '[Country]', false, $countryCode, 4)->addExtraClass('phonenumber-field__country');
         $fields->push($countryField);
     }
     if ($this->areaCode !== null) {
         $areaField = NumericField::create($name . '[Area]', false, $areaCode, 4)->addExtraClass('phonenumber-field__area');
         $fields->push($areaField);
     }
     $numberField = NumericField::create($name . '[Number]', false, null, 10)->addExtraClass('phonenumber-field__number');
     $fields->push($numberField);
     if ($this->ext !== null) {
         $extensionField = NumericField::create($name . '[Extension]', false, $extension, 6)->addExtraClass('phonenumber-field__extension');
         $fields->push($extensionField);
     }
     parent::__construct($title, $fields);
     $this->setName($name);
     if (isset($value)) {
         $this->setValue($value);
     }
 }