add client add_task and callback support