def METHOD_NAME(self, instance: Map, create_action_perfomed: bool, additional_data: dict):
    # Step 1: Handle Maplayers signals if this is and update action
    if not create_action_perfomed:
        dataset_names_before_changes = additional_data.pop("dataset_names_before_changes", [])
        dataset_names_after_changes = [lyr.alternate for lyr in instance.datasets]
        if dataset_names_before_changes != dataset_names_after_changes:
            map_changed_signal.send_robust(sender=instance, what_changed="datasets")
    # Step 2: Register Event
    event_type = EventType.EVENT_CREATE if create_action_perfomed else EventType.EVENT_CHANGE
    register_event(self.request, event_type, instance)
    # Step 3: Resource Manager
    resource_manager.update(instance.uuid, instance=instance, notify=True)