def METHOD_NAME(
    cls,
    adata: AnnData,
    batch_key: Optional[str] = None,
    labels_key: Optional[str] = None,
    layer: Optional[str] = None,
    **kwargs,
):
    """%(summary)s.
    Parameters
    ----------
    %(param_adata)s
    %(param_batch_key)s
    %(param_labels_key)s
    %(param_layer)s
    """
    setup_method_args = cls._get_setup_method_args(**locals())
    anndata_fields = [
        LayerField(REGISTRY_KEYS.X_KEY, layer, is_count_data=True),
        CategoricalObsField(REGISTRY_KEYS.BATCH_KEY, batch_key),
        CategoricalObsField(REGISTRY_KEYS.LABELS_KEY, labels_key),
    ]
    adata_manager = AnnDataManager(
        fields=anndata_fields, setup_method_args=setup_method_args
    )
    adata_manager.register_fields(adata, **kwargs)
    cls.register_manager(adata_manager)