protected function getFields()
 {
     $return = array();
     foreach ($this->eventClass->getProvidedEntities() as $entityDef) {
         if (!empty($entityDef->daoClass) && class_exists($entityDef->daoClass)) {
             $key = $entityDef->entity . '_';
             $className = $entityDef->daoClass;
             if (!is_callable(array($className, 'fields'))) {
                 continue;
             }
             $fields = call_user_func(array($className, 'fields'));
             foreach ($fields as $field) {
                 $fieldKey = $key . $field['name'];
                 $label = $field['title'];
                 if (empty($label)) {
                     $label = $field['name'];
                 }
                 $return[$fieldKey] = $label;
             }
         }
     }
     return $return;
 }