Add task generator.

ref #1200
How about this one?