helper/stoppable.go
func (s *Stoppable) StopFunc(callable func()) {
	s.Lock()
	defer s.Unlock()

	// already stopped
	if s.exit == nil {
		return
	}

	s.doStop(callable)
}
func (s *Stoppable) StopFunc(callable func()) {
	s.Lock()
	defer s.Unlock()

	// already stopped
	if s.exit == nil {
		return
	}

	s.doStop(callable)
}
// StopFunc ...