1. A computer implemented method for processing tasks, comprising: invoking a timed iterator by a caller in an execution thread, during a pass through an event loop, without spawning a new thread, the invoking including: passing a task list and a timeout constraint to the timed iterator, the task list being an enumerable object including one or more child objects; and passing timeout code to the timed iterator; executing, by the timed iterator in the execution thread, the one or more child objects in the task list for a period of time as specified in the timeout constraint, the executing comprising invoking a method of at least one of the child objects; executing the timeout code after the period of time and prior to relinquishing program control to the caller, wherein the timeout code includes at least one of a script, programming instructions or a callback address of a method call for the timed iterator to schedule remaining child objects in the task list to be performed in a next pass through the event loop; and relinquishing program control to the caller in the execution thread after the period of time.