title: R shinyapp: renderUI does not work with nested modules R6 classes
body: <p>I have a big shiny app with modules and I am converting some of these in R6 classes. All works well except for nested modules: I am facing an issue with namespaces and the uiOutput does not work.</p>
  <p>Here is a reproductible example. The class ClassTest is the last class of the hierarchy of classes. It is called either directly by the App or via the Temp class. In the latter case (nested class), the elements contained in the uiOutput does not work.</p>
  <pre><code>library(shiny); library(R6)
  
  ClassTest = R6Class(
    &quot;ClassTest&quot;,
    public = list(
      # attributes
      id = NULL,
  
  # initialize
  initialize = function(id){
    self$id = id
  },
  # UI
  ui = function(){
    ns = NS(self$id)
    tagList(
      h4('Test class'),
      uiOutput(ns('showText'))
    )
  },
  
  # server
  server = function(id){
    moduleServer(id,
                 function(input, output, session){
    ns = session$ns
  
    output$showText &lt;- renderUI({ 
      print('In showText &lt;- renderUI')
      tagList(
        p('I am the showText renderUI of the Test class')
        )
      })
  }
  )
    },
  
  call = function(input, ouput, session){
    self$server(self$id)
  }
       )
      )
  
  #----------------------------------------------------------
  
  
  Temp = R6Class(
    &quot;Temp&quot;,
    public = list(
      # attributes
      temp = NULL,
      id = NULL,
  
  # initialize
  initialize = function(id){
    self$id = id
    self$temp &lt;- ClassTest$new('testTiers')
  },
  # UI
  ui = function(){
    ns = NS(self$id)
    tagList(
      uiOutput(ns('showTestClass'))
    )
  },
  
  # server
  server = function(id){
    moduleServer(id,
                 function(input, output, session){
                   ns = session$ns 
     output$showTestClass &lt;- renderUI({ 
      self$temp$ui()
      })
  })
    },
  
  call = function(input, ouput, session){
    self$server(self$id)
  }
    )
  )
  
  #----------------------------------------------------------
  
  
  App = R6Class(
    &quot;App&quot;,
    public = list(
      # attributes
      temp = NULL,
      classT = NULL,
  
  # initialize
  initialize = function(){
    self$temp = Temp$new('temp')
    self$classT = ClassTest$new('directTest')
    
  },
  # UI
  ui = function(){
    tagList(
      h3('Call by another class'),
      self$temp$ui(),
      hr(),
      h3('Direct call'),
      self$classT$ui()
    )
  },
  
  # server
  server = function(input, output, session){
    self$temp$call()
    self$classT$call()
      }
    )
  )
  
  app = App$new()
  
  shiny::shinyApp(app$ui(), app$server)
  </code></pre>