add TaskTemplate factory and add UI specs