Sorry if this question has been asked before, but is there any intention to write a threading/process management application block (or did I miss something and it already exists)? A common pattern for me when writing software is to create a thread mananger and to create classes to manage queues of work items that UI components can add requests to. We then use a listener pattern to enable the thread to communicate results with interested components. Thanks, Robin