1. A method of generating a current user interface of a running application, the method comprising: receiving, by a computer system, an indication of an event from an existing visual component of the running application; obtaining, by the computer system, a new visual component for the current user interface based on the event, the new visual component comprising a constituent of the current user interface that defines a function of the current user interface; obtaining, by the computer system, a business logic component based on the event, the business logic component handling communication between the new visual component and a backend; building, by the computer system, the current user interface using the new visual component; passing, by the computer system, a parameter to a controller for the running application; receiving, by the computer system, from the controller, a state of the running application in response to the parameter, the state defining which visual components are on the current user interface; and generating, by the computer system, a roadmap pattern for the current user interface in accordance with the state of the running application, the roadmap pattern comprising layouts of user interface elements for each step of the running application.