the duration for the timeout
delegate function to call
normal message handlers for the task the first message handler may be a failHandler to deal with TaskFailure from other tasks