public bool?Show(string title, string msg, MessageBoxType type = MessageBoxType.None,
                         MessageBoxButtonSet buttons = MessageBoxButtonSet.Ok)
        {
            var vm = new MessageBoxViewModel(title, msg, type);

            switch (buttons)
            {
            case MessageBoxButtonSet.Ok:
                vm.AddButton(DialogButtonType.Ok);
                break;

            case MessageBoxButtonSet.OkCancel:
                vm.AddButton(DialogButtonType.Ok);
                vm.AddButton(DialogButtonType.Cancel);
                break;

            case MessageBoxButtonSet.YesNo:
                vm.AddButton(DialogButtonType.Yes);
                vm.AddButton(DialogButtonType.No);
                break;

            case MessageBoxButtonSet.YesNoCancel:
                vm.AddButton(DialogButtonType.Yes);
                vm.AddButton(DialogButtonType.No);
                vm.AddButton(DialogButtonType.Cancel);
                break;

            default:
                throw new ArgumentException("Unsupported buttons specified for Message Box");
            }

            return(_windowManager.ShowDialog(vm));
        }