I'm currently working with Ethereum and smart contracts. I see that a contract can define events and emit them. Each event defines no target, so I assume it will be broadcast. But I wonder how to listen to these events from a nodejs server or web client. Do I have to poll Ethereum nodes continuously for determining if my event is dispatched or not. Is there any way to dispatch event directly to a target (like web callback or web hooks)?