async fn server_event_loop(
yaml_config: Arc<Yaml>,
logger: Sender<LogMessage>,
modules: Vec<Box<dyn ServerModule + Send + Sync>>,
module_error: Option<Error>,
modules_optional_builtin: Vec<String>,
first_startup: bool,
) -> Result<(), Box<dyn Error + Send + Sync>>