v0.1.x: minor refactor
v0.1.x: add protected event emitting interface
v0.1.x: 0.1.3