Crear un cuadro de diálogo emergente interactivo

Me preguntaba si es posible crear un cuadro de diálogo emergente interactivo mediante el uso de shiny (y shinyBS).

Por ejemplo, tengo una cadena y quiero cambiarla y antes de hacer un cuadro de diálogo aparece preguntándome si realmente quiero cambiarla. En caso de que diga "sí", lo hace, de lo contrario descarta el cambio. Aquí está mi intento, pero encontré dos problemas: 1. si hace clic en "sí" o "no", nada cambia 2. siempre necesita cerrar el cuadro en la parte inferior "cerrar".

rm(list = ls())
library(shiny)
library(shinyBS)

name <- "myname"

ui =fluidPage(
  textOutput("curName"),
  br(),
  textInput("newName", "Name of variable:", name),
  br(),
  actionButton("BUTnew", "Change"),
  bsModal("modalnew", "Change name", "BUTnew", size = "small",
          textOutput("textnew"),
          actionButton("BUTyes", "Yes"),
          actionButton("BUTno", "No")
  )
)
server = function(input, output, session) {
  output$curName <- renderText({paste0("Current name: ", name)})

  observeEvent(input$BUTnew, {
    output$textnew <- renderText({paste0("Do you want to change the name?")})
  })

  observeEvent(input$BUTyes, {
    name <- input$newName
  })
}
runApp(list(ui = ui, server = server))

¡Otras propuestas son más que bienvenidas!

Respuestas a la pregunta(3)

Su respuesta a la pregunta