class_docstr: A class for controlling the naming of objects.
  
  The purpose of this class is to control the naming of objects with respect
  to the `NameSpace` to which they belong to. This prevents conflicts that
  arise in the naming of similar objects under different contexts.
  
  Parameters
  ----------
  name : str, optional
      The name of the object.
  
  Attributes
  ----------
  name : str, optional
      The name of the object.
class_docstr_tok: ["A","class","for","controlling","the","naming","of","objects",".","The","purpose","of","this","class","is","to","control","the","naming","of","objects","with","respect","to","the","`","NameSpace","`","to","which","they","belong","to",".","This","prevents","conflicts","that","arise","in","the","naming","of","similar","objects","under","different","contexts",".","Parameters","--","--","--","--","--","name",":","str",",","optional","The","name","of","the","object",".","Attributes","--","--","--","--","--","name",":","str",",","optional","The","name","of","the","object","."]
code: def __init__(self, name: str = None):
      if not name:
          name = self.generic_name
  
          if name in Stream.names.keys():
              Stream.names[name] += 1
              name += ":/" + str(Stream.names[name] - 1)
          else:
              Stream.names[name] = 0
      self.name = name
  
imports: import inspect
  from abc import abstractmethod
  from typing import Generic, Iterable, TypeVar, Dict, Any, Callable, List, Tuple
  from tensortrade.core import Observable
  from tensortrade.feed.core.accessors import CachedAccessor
  from tensortrade.feed.core.mixins import DataTypeMixin
label_desc: Use image node_id 1 to create a new Named object  with example: obj = Named(name)