void ReportUserError(string message, string details = null) { UserError?.Invoke(this, message, details); }