func NewError(description string, args ...interface{}) *Error {
	return &Error{Severity: StateFailure, ShortErr: fmt.Sprintf(description, args...)}
}
NewError creates a pointer to Error, the parameters could be used as in Sprintf
package check
import (
	"context"
	"fmt"
	"sync"
)
type Checker interface {
	Name() string
	Check(ctx context.Context) *Result
}
type State string
const (
	StateSuccess State = "success"
	StateFailure State = "fail"
	StateWarning State = "warn"
)
type Error struct {
	Severity    State  `json:"severity"`
	ShortErr    string `json:"short_error"`
	Self        string `json:"self,omitempty"`
	Other       string `json:"other,omitempty"`
	Instruction string `json:"instruction,omitempty"`
}