1. A method for processing a user interface event by using a memory stack configured for adding, deleting, or modifying software components thereby eliminating the need to monitor system states associated with a software application within which the user interface event has been evoked, the method comprising: designating a first portion of the memory stack as an active area for storing active software components; designating a second portion of the memory stack as an additional area for storing suspended software components; receiving the user interface event by way of a user interface; sending the user interface event to a software component stored in the active area of the memory stack; and processing the user interface event using the software component, the processing being carried out independent of the system states associated with the software application.