1. A method, comprising: receiving, at a presence server, a queue of tasks from a task manager; sending, from the presence server, the queue of tasks to a worker manager; receiving, at the presence server, worker statuses describing availabilities of workers to complete a task in the queue of tasks; sending, from the presence server, the worker statuses to the task manager; receiving, at the presence server, a selection of an available worker of the workers to be assigned the task; receiving, at the presence server, a change in the worker statuses sent from the worker manager; and changing, by the presence server, a worker status of the available worker.