Current handling of error events has some inconsistencies.
- if preloader is not fully initialized by the time error is generated then error could be visulaized by default preloader.
And yet this may not about custom preloader initialization. So eventually it could become visible ...
- sometimes user decisions (e.g. decline to grant permissions) are echoed as additional error event on attempt to exit
To make behavior consistent we can wait for custom preloader to init before handling error events.
If custom preloader fail itself we will use default preloader and submit all pending events to it.
I.e. only one preloader will be active at the time.
Exceptions we use to notify about exit requests as reaction to user action are marked silent.
We do not need to notify preloader about them as errros ...