Messagebox e testes de unidade

Estou tentando encontrar a melhor maneira de desacoplar caixas de mensagens da minha lógica para que eu possa desmontar corretamente. Agora eu estava pensando se seria suficiente criar uma classe auxiliar separada (C #) que eu possa remover posteriormente para minha caixa de mensagens. Por exemplo

static class messageBoxHelper
{
    public static void msgBoxAlg(string message, string title, MessageBoxButtons   buttons, MessageBoxIcon icons, bool show)
    {
        if (show)
        {
            MessageBox.Show(message, title, buttons, icons);
        }
 }

Então, toda vez que eu precisaria usar uma messagebox, eu usaria apenas messageboxHelper / msgBoxAlg (...) em vez de messagebox.show (...). Usando o bool show, pude habilitá-lo ou desabilitá-lo durante o test

Eu só estou querendo saber se este é o "caminho certo". Com o que quero dizer, existe uma maneira mais fácil ou melhor de fazer isso corretamente? Não posso simplesmente abandonar as caixas de mensagens, elas retransmitem informações "vitais" para o usuário ("Deseja fechar esta janela?" SIM / NÃO, etc.). Também pode ser que eu não esteja usando a engenharia de software adequada e devo separar mais minhas caixas de mensagens da minha bussinesslogic?

questionAnswers(4)

yourAnswerToTheQuestion