implement UITaskListener