docs: def register_model(self, storagemodel:object):
          """ set up an Tableservice for an StorageTableModel in your  Azure Storage Account
              Will create the Table if not exist!
          
              required Parameter is:
              - storagemodel: StorageTableModel(Object)
  
          """
  
          modeldefinition = self.getmodeldefinition(storagemodel, False)
  
          if modeldefinition is None:
  
              """ test if queuename already exists """
              if [model for model in self._modeldefinitions if model['tablename'] == storagemodel._tablename]:
                  raise NameConventionError(storagemodel._tablename)
  
              """ test if queuename fits to azure naming rules """
              if not test_azurestorage_nameconventions(storagemodel._tablename, 'StorageTableModel'):
                  raise NameConventionError(storagemodel._tablename)            
                  
              """ now register model """
              modeldefinition = {
                  'modelname': storagemodel.__class__.__name__,
                  'tablename': storagemodel._tablename,
                  'encrypt': storagemodel._encrypt,
                  'tableservice': self._account.create_table_service()
                  }
  
              if modeldefinition['encrypt']:
                  """ encrypt init """
                  # Create the KEK used for encryption.
                  # KeyWrapper is the provided sample implementation, but the user may use their own object as long as it implements the interface above.
                  kek = KeyWrapper(self._key_identifier, self._secret_key) #  Key identifier
  
                  # Create the key resolver used for decryption.
                  # KeyResolver is the provided sample implementation, but the user may use whatever implementation they choose so long as the function set on the service object behaves appropriately.
                  key_resolver = KeyResolver()
                  key_resolver.put_key(kek)
  
                  # Create the EncryptionResolver Function to determine Properties to en/decrypt
                  encryptionresolver = self.__encryptionresolver__(modeldefinition['encrypt'])
  
  
                  # Set the require Encryption, KEK and key resolver on the service object.
                  modeldefinition['tableservice'].key_encryption_key = kek
                  modeldefinition['tableservice'].key_resolver_funcion = key_resolver.resolve_key
                  modeldefinition['tableservice'].encryption_resolver_function = encryptionresolver
                  pass
  
              self.__createtable__(modeldefinition)
                  
              self._modeldefinitions.append(modeldefinition)
  
              log.info('model {} registered successfully. Models are {!s}.'.format(modeldefinition['modelname'], [model['modelname'] for model in self._modeldefinitions]))
          else:
              log.info('model {} already registered. Models are {!s}.'.format(modeldefinition['modelname'], [model['modelname'] for model in self._modeldefinitions]))