class_docstr: Any class that inherits from ``Registrable`` gains access to a named
  registry for its subclasses. To register them, just decorate them with the
  classmethod ``@BaseClass.register(name)``.
  
  After which you can call ``BaseClass.list_available()`` to get the keys
  for the registered subclasses, and ``BaseClass.by_name(name)`` to get the
  corresponding subclass.
  
  Note that if you use this class to implement a new ``Registrable``
  abstract class, you must ensure that all subclasses of the abstract class
  are loaded when the module is loaded, because the subclasses register
  themselves in their respective files. You can achieve this by having the
  abstract class and all subclasses in the __init__.py of the module in
  which they reside (as this causes any import of either the abstract class
  or a subclass to load all other subclasses and the abstract class).
code: def registered_name(cls, registered_class):
      for name, subclass in iteritems(Registrable._registry[cls]):
          if subclass == registered_class:
              return name
      raise NotRegisteredError(cls, registered_cls=registered_class)
  
file_path: snips-nlu/snips_nlu/common/registrable.py
imports: from collections import defaultdict
  from future.utils import iteritems
  from snips_nlu.exceptions import AlreadyRegisteredError, NotRegisteredError
label_desc: Use image node_id 2 for calling the Registrable obj's underlying member method code with example usage: obj.registered_name(cls, registered_class) and returns: name