func (c *Clockwerk) Every(period time.Duration) *Entry {
	entry := newEntry(period)
	c.schedule(entry)
	if !c.running {
		c.entries = append(c.entries, entry)
	}
	return entry
}
Every schedules a new Entry and returns it.
package clockwerk
import (
	"time"
)
type Job interface {
	Run()
}
type Entry struct {
	Period time.Duration
	Next   time.Time
	Prev   time.Time
	Job    Job
}
func newEntry(period time.Duration) *Entry {
	return &Entry{
		Period: period,
		Prev:   time.Unix(0, 0),
	}
}
func (e *Entry) Do(job Job) {
	e.Job = job
}
type Clockwerk struct {
	entries []*Entry
	stop    chan struct{}
	running bool
}
func New() *Clockwerk {
	return &Clockwerk{
		entries: nil,
		stop:    make(chan struct{}),
		running: false,
	}
}