Option to exit DialogWindow on click outside when using launchAsync

I know there have been several discussions on this question in the past, but I’m just wondering why juce ::DialogWindow doesn’t simply provide an option to exit modal state if clicked outside.

The issue is that if you use launchAsync (the recommended method) with the options, it creates a DialogWindow object for you… so then you don’t get the chance to override “inputAttemptWhenModal” - and won’t get those events or outside mouse events in the owned/non-owned attached component.

My lazy quick fix was to simply add the override (inputAttemptWhenModal) directly in the DialogWindow class (I maintain my own branch of JUCE with a few other small hacks) - and only activate the exit modal state functionality if a bool setter function is called on the created DialogWindow*
Ideally, it would be an option in the LaunchOptions in the official JUCE version.

If there is a better way to do it I would appreciate the guidance - I assumed it’s best not to create my own class inheriting DialogWindow as then I would need to use the non-recommended methods to activate it.

In the class header:

   Note: This method has been superseded by the DialogWindow::LaunchOptions structure,
    which does the same job with some extra flexibility. The showDialog method is here
    for backwards compatibility, but please use DialogWindow::LaunchOptions in new code.