Redesigned the DataGenerateTask and OnTaskCompleteListener