async def METHOD_NAME(*args, **kwargs):
    with self.start_flow(control_point, explicit_labels) as flow:
        if flow.should_run():
            return await run_fn(fn, *args, **kwargs)
        else:
            if on_reject:
                return on_reject()
            raise RejectedFlowException("Flow was rejected")