Instead of `Func<bool>`, it would be nice to have `Func<Task<bool>>` in order to be able to pass async method calls as `ShowAsync` condition.
Instead of
Func<bool>, it would be nice to haveFunc<Task<bool>>in order to be able to pass async method calls asShowAsynccondition.