1. An apparatus, comprising: a processor including a control module including one or more first interfaces communicatively coupled to a data storage device, and one or more second interfaces communicatively coupled to a user interface, the control module being configured to retrieve data from the data storage device and share the data across a plurality of virtual applications of a single device, such that the plurality of virtual applications use a single instance of the shared data; and an application controller communicatively coupled to the control module, the application controller being configured to select one or more of the plurality of virtual applications based on information received via at least one of the one or more second interfaces, wherein the control module is configured to receive the information from the user interface, the information including a selection of one or more virtual applications displayed on the user interface, send a first message to the application controller based on the received information, receive a second message from the application controller, the second message including an activation notification and a deactivation notification, based on the activation notification, preload and associate the shared data with the selected one or more virtual applications by hosting ports for the selected one or more virtual applications to the shared data, and based on the deactivation notification, save the shared data and disassociate a de-selected one or more other virtual applications from the shared data by removing ports for the de-selected one or more other virtual applications to the shared data; and wherein, in response to receiving the first message, the application controller is configured to determine, based on the first message, the one or more virtual applications to be selected and activated and the one or more other virtual applications to be de-selected and deactivated, activate the determined one or more virtual applications, deactivate the determined one or more other virtual applications, send the second message to the control module, the second message indicating the activated one or more virtual applications and the de-activated one or more other virtual applications, re-configure the activated one or more virtual applications with a pluggable extension code associated with a configuration file to configure a display format of the shared data, and send a third message to each of the determined one or more virtual applications to configure the shared data.