How is functional reactivity handled within Shiny?