package neo

import 

type timer struct {
	time *Time
	ch   chan time.Time
	id   int
}

func ( *timer) () <-chan time.Time {
	return .ch
}

func ( *timer) () bool {
	return .time.stop(.id)
}

func ( *timer) ( time.Duration) {
	.time.reset(, .id, .do, nil)
}

// do is the timer’s moment callback. It sends the now time to the underlying
// channel. Note that do runs under Time’s lock.
func ( *timer) ( time.Time) {
	.ch <- 
}