init
support event array
`emit`