UI Messaging System - Broadcast

Is there an equivalent to GameObject.BroadcastMessage in the new messaging system?

GameObject.SendMessage equals ExecuteEvents.Execute
GameObject.SendMessageUpwards equals ExecuteEvents.ExecuteHierarchy

But what about sending a broadcast message to any receiver down the hierarchy?

Consider this

public enum EventExecutionMethod
    {
        Singlecast,
        BroadcastDown,
        BroadcastUp,
        BroadcastAll
    }

    public static class EventExtensions
    {

        public static void SendEvent<T>(this Component root, BaseEventData eventData, ExecuteEvents.EventFunction<T> callbackFunction, EventExecutionMethod method = EventExecutionMethod.Singlecast) where T : IEventSystemHandler
        {
            if(root == null)
            {
                return;
            }

            Transform[] transforms = new Transform[0];

            switch (method)
            {
                case EventExecutionMethod.Singlecast:
                    transforms = new Transform[] { root.transform };
                    break;
                case EventExecutionMethod.BroadcastDown:
                    transforms = root.GetComponentsInChildren<Transform>();
                    break;
                case EventExecutionMethod.BroadcastUp:
                    transforms = root.GetComponentsInParent<Transform>();
                    break;
                case EventExecutionMethod.BroadcastAll:
                    transforms = root.transform.root.GetComponentsInChildren<Transform>();
                    break;
                default:
                    Debug.LogError("Unknown EventExecutionMethod!");
                    break;
            }

            for (int i = 0; i < transforms.Length; i++)
            {
                var go = transforms[i].gameObject;
                ExecuteEvents.Execute<T>(go, eventData, callbackFunction);
            }
        }
    }