//public async Task OnRequestSelectTarget(TargetEventArgs ea)
        //{
        //	TargetEventHandler handler = RequestSelectTarget;

        //	if (handler == null)
        //		return;

        //	Delegate[] invocationList = handler.GetInvocationList();
        //	Task[] handlerTasks = new Task[invocationList.Length];

        //	for (int i = 0; i < invocationList.Length; i++)
        //	{
        //		handlerTasks[i] = ((TargetEventHandler)invocationList[i])(ea);
        //	}

        //	await Task.WhenAll(handlerTasks);
        //}

        public static void OnRequestSelectTarget(TargetEventArgs ea)
        {
            RequestSelectTarget?.Invoke(ea);
        }