shiny: Update input without reactives getting triggered?

Here's a stab, though it feels like there might be side-effects from using stale data. Using the following diff:

 # Define server logic
 server <- function(input, output, session) {
-  output$sliderValue <- renderText(input$bins)
+  output$sliderValue <- renderText({ saved_bins(); })

+  update <- reactiveVal(TRUE)
+  saved_bins <- reactiveVal(30)
+
+  observeEvent(input$bins, {
+    if (update()) saved_bins(input$bins) else update(TRUE)
+  })
   observeEvent(input$set1,{
     updateSliderInput(session,"bins",value=20)
   })
   observeEvent(input$set2,{
     ## Is there any possibility to update the slider without 'sliderValue' changing?
     #isolate does not work
+    update(FALSE)
-    isolate(
       updateSliderInput(session,"bins",value=20 )
-    )
   })
 }

The method: using two new reactive values, one to store the data that (saved_bins) is used in the rendering, and one (update) to store whether that data should be updated. Everything that depends on input$bins should instead depend on saved_bins(). By using an additional observeEvent, the reactivity will always cascade as originally desired except when you explicitly set a one-time "do not cascade" with the prepended update(FALSE).

Full code below:

library(shiny)

ui <- fluidPage(
   titlePanel("Update Slider - Isolate reaction?"),

   sidebarLayout(
      sidebarPanel(
         sliderInput("bins",
                     "Number of bins:",
                     min = 1,
                     max = 50,
                     value = 30),
         actionButton("set1", "set slider 'bins'$value=20"),
         actionButton("set2", "'ISOLATED' set slider 'bins'$value=20 ")
      ),

      mainPanel(
         textOutput("sliderValue")
      )
   )
)

# Define server logic 
server <- function(input, output, session) {
  output$sliderValue <- renderText({ saved_bins(); }) 

  update <- reactiveVal(TRUE)
  saved_bins <- reactiveVal(30)

  observeEvent(input$bins, {
    if (update()) saved_bins(input$bins) else update(TRUE)
  })
  observeEvent(input$set1,{
    updateSliderInput(session,"bins",value=20)
  })
  observeEvent(input$set2,{
    ## Is there any possibility to update the slider without 'sliderValue' changing?
    #isolate does not work
    update(FALSE)
    updateSliderInput(session,"bins",value=20)
 })
}

shinyApp(ui = ui, server = server)