func MustNewService(factory func() (Transport, error)) *Service {
	srv, err := NewService(factory)
	if err != nil {
		panic(err)
	}
	return srv
}
MustNewService does the same thing as NewService, but panics on error.
package logging
import "github.com/meeko/go-meeko/meeko/services"
type Service struct {
	Transport
}
func NewService(factory func() (Transport, error)) (srv *Service, err error) {
	defer func() {
		if r := recover(); r != nil {
			if ex, ok := r.(error); ok {
				err = ex
			} else {
				err = services.ErrFactoryPanic
			}
		}
	}()
	transport, err := factory()
	if err != nil {
		return nil, err
	}
	return &Service{transport}, nil
}