refact DefaultTaskListener