code: def register(self, item):
          
          if callable(item) and hasattr(item, '__orb__'):
              item = item.__orb__
  
          key = item.name()
          model = self.__model
  
          # create class methods for indexes
          if isinstance(item, orb.Index):
              self.__indexes[key] = item
              item.setSchema(self)
  
              if model and not hasattr(model, key):
                  setattr(model, key, classmethod(item))
  
          # create instance methods for collectors
          elif isinstance(item, orb.Collector):
              self.__collectors[key] = item
              item.setSchema(self)
  
          # create instance methods for columns
          elif isinstance(item, orb.Column):
              self.__columns[key] = item
              item.setSchema(self)
docs: Registers a new orb object to this schema.  This could be a column, index, or collector -- including
          a virtual object defined through the orb.virtual decorator.
  
          :param item: <variant>
  
          :return: