class_docstr: We keep a mapping of externally used names to classes.
docstr: Customize steps taken during class creation / initalization.
  
  super().__call__() within metaclass means: return instance created by calling metaclass __prepare__ -> __new__
  -> __init__
docstr_tok: ["Customize","steps","taken","during","class","creation","\/","initalization",".","super","(",")",".__call__","(",")","within","metaclass","means",":","return","instance","created","by","calling","metaclass","__prepare__","-",">","__new__","-",">","__init__"]
code: def __call__(cls, *args, **kwargs):
      """Customize steps taken during class creation / initalization.
  
      super().__call__() within metaclass means: return instance created by calling metaclass __prepare__ -> __new__
      -> __init__
  
      """
      klass = super().__call__(*args, **kwargs)
      klass._flashserve_meta_ = replace(klass._flashserve_meta_)
      _validate_exposed_input_parameters_valid(klass)
      klass.__flashserve_init__(*args, **kwargs)
      return klass
  
file_path: lightning-flash/src/flash/core/serve/component.py
imports: import inspect
  from dataclasses import replace
  from functools import wraps
  from typing import Dict, List, Optional, Tuple, Type, Union
  from torch import nn
  from flash.core.serve.core import ParameterContainer, Servable
  from flash.core.serve.decorators import BoundMeta, UnboundMeta
  from flash.core.utilities.imports import _CYTOOLZ_AVAILABLE, _TOPIC_SERVE_AVAILABLE, requires
label_desc: Use image node_id 2 for calling the FlashServeMeta obj's underlying member method code with example usage: obj.__call__(cls) and returns: klass