def save_features(self, train_features, test_features, feature_names, feature_list_id):
        """
        Save features for the training and test sets to disk, along with their metadata.

        Args:
            train_features: A NumPy array of features for the training set.
            test_features: A NumPy array of features for the test set.
            feature_names: A list containing the names of the feature columns.
            feature_list_id: The name for this feature list.
        """

        self.save_feature_names(feature_names, feature_list_id)
        self.save_feature_list(train_features, 'train', feature_list_id)
        self.save_feature_list(test_features, 'test', feature_list_id)