package seq import "errors" type Tasker struct { seq map[string]*Seq } func NewTasker() *Tasker { return &Tasker{map[string]*Seq{}} } func (t *Tasker) Define(name string) *Seq { s := NewSeq() t.seq[name] = s return s } func (t *Tasker) Exec(name string, params ...interface{}) error { s, ok := t.seq[name] if !ok { return errors.New("Task Not found") } return s.Exec(params...) }