def METHOD_NAME(dry_run):
    quay_api_store = get_quay_api_store()
    current_state = fetch_current_state(quay_api_store)
    desired_state = fetch_desired_state()
    # calculate diff
    diff = current_state.diff(desired_state)
    logging.debug("State diff: %s", diff)
    # Run actions
    runner_action = RunnerAction(dry_run, quay_api_store)
    runner = AggregatedDiffRunner(diff)
    runner.register("insert", runner_action.create_team())
    runner.register("update-insert", runner_action.add_to_team())
    runner.register("update-delete", runner_action.del_from_team())
    runner.register("delete", runner_action.del_from_team())
    status = runner.METHOD_NAME()
    if not status:
        sys.exit(ExitCodes.ERROR)