Simple to use, "zero-allocation" event system
To install package use command:
go get github.com/beldmian/light
light.Handle("hello", func(e light.Event) error {
fmt.Printf("Hello, %s\n", e.Payload["name"])
return nil
})
light.Emit(light.Event{
Name: "hello",
Payload: map[string]interface{}{"name": "light"},
})
All contributions are welcome. Please open issue if you want to provide some new features.