Generator/Profile.php
public static function componentDataDefinition() {
    $component_data_definition = parent::componentDataDefinition();

    $component_data_definition['base'] = [
      'internal' => TRUE,
      'default' => 'profile',
      'process_default' => TRUE,
    ];

    $component_data_definition['root_name'] = [
      'label' => 'Profile machine name',
      'default' => 'myprofile',
    ] + $component_data_definition['root_name'];

    $component_data_definition += [
      'readable_name' => array(
        'label' => 'Profile readable name',
        'default' => function($component_data) {
          return ucfirst(str_replace('_', ' ', $component_data['root_name']));
        },
        'required' => FALSE,
      ),
      'short_description' => array(
        'label' => 'Profile .info file description',
        'default' => 'TODO: Description of profile',
        'required' => FALSE,
      ),
    ];
    return $component_data_definition;
  }
public static function componentDataDefinition() {
    $component_data_definition = parent::componentDataDefinition();

    $component_data_definition['base'] = [
      'internal' => TRUE,
      'default' => 'profile',
      'process_default' => TRUE,
    ];

    $component_data_definition['root_name'] = [
      'label' => 'Profile machine name',
      'default' => 'myprofile',
    ] + $component_data_definition['root_name'];

    $component_data_definition += [
      'readable_name' => array(
        'label' => 'Profile readable name',
        'default' => function($component_data) {
          return ucfirst(str_replace('_', ' ', $component_data['root_name']));
        },
        'required' => FALSE,
      ),
      'short_description' => array(
        'label' => 'Profile .info file description',
        'default' => 'TODO: Description of profile',
        'required' => FALSE,
      ),
    ];
    return $component_data_definition;
  }
public static function componentDataDefinition ( ) { $ component_data_definition = parent :: componentDataDefinition ( ) ; $ component_data_definition [ 'base' ] = [ 'internal' => TRUE , 'default' => 'profile' , 'process_default' => TRUE , ] ; $ component_data_definition [ 'root_name' ] = [ 'label' => 'Profile machine name' , 'default' => 'myprofile' , ] + $ component_data_definition [ 'root_name' ] ; $ component_data_definition += [ 'readable_name' => array ( 'label' => 'Profile readable name' , 'default' => function ( $ component_data ) { return ucfirst ( str_replace ( '_' , ' ' , $ component_data [ 'root_name' ] ) ) ; } , 'required' => FALSE , ) , 'short_description' => array ( 'label' => 'Profile .info file description' , 'default' => 'TODO: Description of profile' , 'required' => FALSE , ) , ] ; return $ component_data_definition ; }
This can't be a class property due to use of closures.

@return
An array that defines the data this component needs to operate. This
includes:
- data that must be specified by the user
- data that may be specified by the user, but can be computed or take from
defaults
- data that should not be specified by the user, as it is computed from
other input.
This can t be a class property due to use of closures .