code: def modify(self, modification, obj):
          
          for action, settings in modification.items():
              if action in self.supported_actions:
                  self.supported_actions[action].__call__(obj, settings)
              elif self.strict:
                  raise ValueError("{} is not a supported action!"
                                   .format(action))
docs: Note that modify makes actual in-place modifications. It does not
          return a copy.
  
          Args:
              modification (dict): Modification must be {action_keyword :
                  settings}. E.g., {'_set': {'Hello':'Universe', 'Bye': 'World'}}
              obj (dict/str/object): Object to modify depending on actions. For
                  example, for DictActions, obj will be a dict to be modified.
                  For FileActions, obj will be a string with a full pathname to a
                  file.