/**
  * __construct
  */
 public function __construct()
 {
     $attributes = array_merge($this->attributes, $this->init());
     $options = array_merge($this->options, $this->options());
     if (empty($attributes['type']) || empty($attributes['display-name'])) {
         exit('This field object is invalid. Field object must have type and display-name attributes.');
     }
     if (empty($attributes['optgroup'])) {
         $attributes['optgroup'] = 'basic-fields';
     }
     $this->attributes = $attributes;
     $this->options = $options;
     add_filter(SCF_Config::PREFIX . 'field-select-' . $attributes['optgroup'], array($this, 'field_select'));
     $this->after_loaded();
     SCF::add_form_field_instance($this);
 }