always emit events asynchronously
object > self