1. A user interface (UI) system comprising: a UI client engine associated with an application, the UI client engine configured for: determining a UI component tree for the application, receiving inputs from the application related to elements of the UI component tree, and determining UI data items related to the inputs; and a plurality of UI rendering engines each associated with a respective display for displaying a respective UI, each of the plurality of UI rendering engines configured for: receiving the UI component tree from the client UI engine, determining a visual node tree for the UI component tree, and asynchronously receiving, from the UI client engine, the UI data items related to elements of the UI component tree, populating the visual node tree with the UI data items; and rendering its respective UI in accordance with the visual node tree independently of further input from the client UI engine.