func (h PatternMatching) Dispatch(b Bundle, exactMatch bool) error {
	var (
		now = time.Now()
		tt  = b.Timetag.Time()
	)
	if tt.Before(now) {
		return h.immediately(b, exactMatch)
	}
	<-time.After(tt.Sub(now))
	return h.immediately(b, exactMatch)
}
Dispatch invokes an OSC bundle's messages.
package osc
import (
	"strings"
	"time"
	"github.com/pkg/errors"
)
var (
	ErrInvalidAddress = errors.New("invalid OSC address")
)
type Method func(msg Message) error
func (method Method) Handle(m Message) error {
	return method(m)
}
type MessageHandler interface {
	Handle(Message) error
}
type Dispatcher interface {
	Dispatch(bundle Bundle, exactMatch bool) error
	Invoke(msg Message, exactMatch bool) error
}
type PatternMatching map[string]MessageHandler