code: private function getCreatableFields()
      {
          $fields = ClassInfo::subclassesFor('Moo_EditableField');
          $output = [];
  
          if (!empty($fields)) {
              array_shift($fields); // get rid of subclass 0
              asort($fields); // get in order
  
              foreach ($fields as $field => $title) {
                  // Skip an abstract class
                  if ($field == 'Moo_EditableFieldMultipleOption') {
                      continue;
                  }
  
                  // Get the nice title and strip out field
                  $niceTitle = _t($field . '.SINGULARNAME', $title);
                  if ($niceTitle) {
                      $output[$field] = $niceTitle;
                  }
              }
          }
  
          return $output;
      }
docs: Return a {@link ArrayList} of all the addable fields to populate the add
  field menu.
  
  @return array