/**
  * Validates data. By default, checks only for required keys.
  *
  * @param array $data
  * @param string $type [null]	- @see $this->__invoke()
  * @return array
  */
 public function validate(array $data, $type = null)
 {
     if (!empty($this->required_keys)) {
         if ($missing = UTILS::is_array_missing_keys($this->data, $this->required_keys)) {
             $missing = implode(', ', array_keys($missing));
             throw new \Exception("Config missing required keys: ['{$missing}']");
         }
     }
     return true;
 }