func (p *Progress) ExecuteTask(description string, fn func()) {
	t := &task{
		description: description,
	}

	p.addTask(t)
	defer p.removeTask(t)
	fn()
}
// ExecuteTask executes a task as part of a job. The description is used to
// populate the Details slice in the parent Job.
ExecuteTask executes a task as part of a job. The description is used to
populate the Details slice in the parent Job.
// ExecuteTask executes a task as part of a job . The description is used to // populate the Details slice in the parent Job .
func (p *Progress) ExecuteTask(description string, fn func()) {
	t := &task{
		description: description,
	}
	p.addTask(t)
	defer p.removeTask(t)
	fn()
}
func ( p * Progress ) ExecuteTask ( description string , fn func ( ) ) { t := & task { description : description , } p . addTask ( t ) defer p . removeTask ( t ) fn ( ) }
ExecuteTask executes a task as part of a job.
ExecuteTask executes a task as part of a job .