1. A method for presenting a user interface to a user of a software application, the method comprising: identifying a first set of declarative language instructions having a plurality of data structures, including a first data structure storing items of first data, a particular item of first data representing a user-selectable object presentable via a user interface of a software application, a particular user-selectable object selectable to either access one or more other user-selectable objects or to access a resource or both, a second data structure hierarchically associated with the first data structure storing items of second data, a particular item of second data representing an action to be taken upon user selection of a particular user-selectable object via the user interface, and a third data structure hierarchically associated with the first data structure or the second data structure or both, the third data structure storing items of third data, a particular item of third data usable to indirectly access information associated with a particular user-selected object or a resource or both, identifying a second set of declarative language instructions defining a plurality of sets of computer-executable instructions, a particular set of computer-executable instructions corresponding to a particular action represented by a particular item of second data and configured to accept one or more arguments comprising items of third data; at runtime of the software application, presenting to a user a first selection of items comprising one or more of the user-selectable objects represented by one or more items of first data; receiving a user selection of a user-selectable object from the first selection; identifying the selected user-selectable object as a currently-selected object; identifying the particular item of second data representing the action to be taken upon user selection of the currently-selected object; identifying the set of computer-executable instructions corresponding to the action; identifying one or more items of third data associated with the currently-selected object; arranging for execution of the identified set of computer-executable instructions, passing as one or more arguments thereto the identified one or more items of third data, execution of the set of computer-executable instructions resulting in the use of the one or more items of third data to indirectly access either information associated with one or more user-selectable objects associated with the currently-selected object or one or more resources associated with the currently-selected object or both; based on execution of the identified set of computer-executable instructions, identifying a second selection of user-selectable items comprising either one or more user-selectable objects or one or more resources or both; and presenting the second selection to the user.