1. A method of generating a current user interface for an application, the method comprising: receiving an indication of an event; obtaining a visual component for the current user interface based on the event, the visual component comprising a constituent of the current user interface that defines a function of the current user interface; and building the current user interface using the visual component.