1. A method of executing an application, the method comprising the steps of: a computer receiving a request to utilize the application to perform a first, primary function of the application, and in response retrieving a sub-task that requires the first, primary function for completion, wherein the sub-task is retrieved from a critical queue in response to receiving the request to utilize the application to perform the first, primary function of the application, the computer executing the application to perform the request, and in response, the computer detecting that a response time of the application to perform the request is slower than a predetermined threshold, and in response, the computer determining that (a) the slow response time is due to overload of a hardware resource used by the application to perform the first function, and (b) a second, secondary function of the application also uses the hardware resources, and in response, the computer suspending execution of a program module within the application that performs the second function to free up the hardware resource for use by an other program module within the application that performs the first function.