1. A system comprising: a processor; a client management hardware component to choose a selected client from a plurality of clients, the selected client for which a given task is to be fulfilled by a selected hardware resource of one or more hardware resources; a monitor hardware component different from and separate than the client management hardware component to receive the given task and an identifier of the selected client from the client management hardware component and to monitor completion of the given task for the selected client by the selected hardware resource by trapping an interrupt generated by the selected hardware resource upon completion of the given task and responsively informing the selected client that the given task has been completed; a hardware resource management hardware component different from and separate than the monitor hardware component and the client management component to receive the given task from the monitor hardware component, to choose the selected hardware resource that is to fulfill the given task, and to launch the given task on the selected hardware resource; a memory storing a plurality of scripts; and a plurality of queues corresponding to the clients and in which the clients place tasks, including the given task, for completion by the hardware resources, each task identifying a pointer to a script within the memory, wherein the hardware resource management hardware component is to look up the script to which the pointer of the given task references within the memory and cause the selected hardware resource to perform the script to which the pointer of the given task references.