func NewTimer(interval time.Duration) *Timer {
	tm := &Timer{
		msg: make(chan typeAction),
	}
	tm.interval.Set(interval)
	return tm
}
NewTimer creates a new Timer object
package timer
import (
	"sync"
	"time"
	"github.com/nooncall/shazam/util/sync2"
)
type typeAction int
const (
	timerStop typeAction = iota
	timerReset
	timerTrigger
)
type Timer struct {
	interval sync2.AtomicDuration
	mu      sync.Mutex
	running bool
	msg chan typeAction
}