A non-transitory computer-readable storage device storing computer executable instructions that when executed by a computer control the computer to perform a method for executing a second software application within a first software application, the method comprising: defining a plurality of global functions comprising at least one callback function, wherein a plurality of software applications are configured to execute the at least one callback function; executing the first software application of the plurality of software applications comprising code fragments for implementing quick actions for utilizing callback functions, executed on the computer; displaying a plurality of first graphical user interface, GUI, elements (610, 612, 614, 704, 706, 804, 806, 904, 906), corresponding to the first software application on a primary application window (608, 702, 802, 902); configuring at least one first GUI element (610, 612, 614, 704, 706, 804, 806, 904, 906) comprising a click event, wherein the click event of the at least one first GUI element (610, 612, 614, 704, 706, 804, 806, 904, 906) invokes the at least one callback function; receiving an input from the at least one first GUI element (610, 612, 614, 704, 706, 804, 806, 904, 906) of the primary application window (608, 702, 802, 902); an event comparator comparing the received input and predefined events and a search engine of the first application returning a list of user selectable quick actions; selecting a quick action which triggers the respective click event; utilizing the at least one callback function for suspending the first software application and the primary application window (608, 702, 802, 902) in response to executing the click event from the primary application window (608, 702, 802, 902); utilizing the at least one callback function for displaying a secondary application window (626, 808, 908) positioned within the primary application window (608, 702, 802, 902) in response to the first software application executing the second software application comprising code fragments storing a reference to the first application currently suspended; configuring the second application to return data to the at least one callback function, and closing the secondary application window (626, 808, 908) and resuming the first software application and the primary application window (608, 702, 802, 902). defining a plurality of global functions comprising at least one callback function, wherein a plurality of software applications are configured to execute the at least one callback function; executing the first software application of the plurality of software applications comprising code fragments for implementing quick actions for utilizing callback functions, executed on the computer; displaying a plurality of first graphical user interface, GUI, elements (610, 612, 614, 704, 706, 804, 806, 904, 906), corresponding to the first software application on a primary application window (608, 702, 802, 902); configuring at least one first GUI element (610, 612, 614, 704, 706, 804, 806, 904, 906) comprising a click event, wherein the click event of the at least one first GUI element (610, 612, 614, 704, 706, 804, 806, 904, 906) invokes the at least one callback function; receiving an input from the at least one first GUI element (610, 612, 614, 704, 706, 804, 806, 904, 906) of the primary application window (608, 702, 802, 902); an event comparator comparing the received input and predefined events and a search engine of the first application returning a list of user selectable quick actions; selecting a quick action which triggers the respective click event; utilizing the at least one callback function for suspending the first software application and the primary application window (608, 702, 802, 902) in response to executing the click event from the primary application window (608, 702, 802, 902); utilizing the at least one callback function for displaying a secondary application window (626, 808, 908) positioned within the primary application window (608, 702, 802, 902) in response to the first software application executing the second software application comprising code fragments storing a reference to the first application currently suspended; configuring the second application to return data to the at least one callback function, and closing the secondary application window (626, 808, 908) and resuming the first software application and the primary application window (608, 702, 802, 902).