/// <inheritdoc />
        protected UnityAsyncEventBusListener(IEventBus bus, [NotNull] UnityAsyncEventBusHandlerSettings settings)
            : base(bus)
        {
            Settings = settings ?? throw new ArgumentNullException(nameof(settings));

            if (Settings.ShouldLock)
            {
                LockObj = new AsyncLock();
            }
        }
 /// <summary>
 /// Creates a new click listener on the provided element.
 /// </summary>
 /// <param name="element">Element to listen on.</param>
 /// <param name="settings">Async event settings.</param>
 protected ElementClickedEventListenerAsync(IUIElement element, UnityAsyncEventBusHandlerSettings settings)
     : base(element.Bus, settings)
 {
 }