code: func CreateWorker(args *WorkArgs, createdAt time.Time, fireAt time.Time, f func(args *WorkArgs) error) *TimedWorker {
  	delay := fireAt.Sub(createdAt)
  	if delay <= 0 {
  		go f(args)
  		return nil
  	}
  	timer := time.AfterFunc(delay, func() { f(args) })
  	return &TimedWorker{
  		WorkItem:  args,
  		CreatedAt: createdAt,
  		FireAt:    fireAt,
  		Timer:     timer,
  	}
  }
docs: // CreateWorker creates a TimedWorker that will execute `f` not earlier than `fireAt`.