The user interface components in this example are updated when the server sends a command to the client. This is different from the Dynamic UI example, where the user interface component is generated on the server and sent to the client, where it replaces an existing UI component. Updating an input is faster and usually preferable, but sometimes it's not powerful enough - for example, if you want to replace the UI component with one of a different type, you need to replace it. See the Dynamic UI demo for an example of this.