func (o *Observable) On(event string, cb interface{}) *Observable {
  return o.addCallback(event, cb, false)
}
On - adds a callback function
package observable
import (
  "reflect"
  "sync"
)
const ALL_EVENTS_NAMESPACE = "*"
type callback struct {
  fn        reflect.Value
  isUnique  bool
  isTyped   bool
  wasCalled bool
}
type Observable struct {
  Callbacks map[string][]callback
  *sync.RWMutex
}
func New() *Observable {
  return &Observable{
    make(map[string][]callback),
    &sync.RWMutex{},
  }
}