properly emitting data events