1. A method for executing a task, comprising the steps of: initiating a background-processing thread associated with a pending task structure and an active task structure; receiving a reference to a task from an external thread and inserting the reference in the pending task structure; determining that the reference exists in the pending task structure and if the reference does exist inserting the reference into the active task structure; and reading the active task structure and executing the task in the background-processing thread via the reference.