func (s *Task) Read(read func(*Task) interface{}) interface{} {
	s.mutex.RLock()
	var ret = read(s)
	s.mutex.RUnlock()
	return ret
}
func (s *Task) Read(read func(*Task) interface{}) interface{} {
	s.mutex.RLock()
	var ret = read(s)
	s.mutex.RUnlock()
	return ret
}
// Read -- Safe way to read from a task