code: def new(self, *args, **kwargs) -> str:
          
          args = list(args)
  
          data = [self.prefix]
  
          for part in self._part_names:
              value = kwargs.pop(part, None)
              if value is None:
                  if args:
                      value = args.pop(0)
                  else:
                      raise ValueError(f"Value for '{part}' is not passed!")
  
              if value is not None and not isinstance(value, str):
                  value = str(value)
  
              if not value:
                  raise ValueError(f"Value for part {part} can't be empty!'")
              elif self.sep in value:
                  raise ValueError(f"Symbol defined as separator can't be used in values of parts")
  
              data.append(value)
  
          if args or kwargs:
              raise TypeError('Too many arguments is passed!')
  
          callback_data = self.sep.join(data)
          if len(callback_data) > 64:
              raise ValueError('Resulted callback data is too long!')
  
          return callback_data
docs: Generate callback data
  
          :param args:
          :param kwargs:
          :return: