Out of curiosity, is it possible to handle events in smart contracts? For example at a certain time do something or there should always be an external or internal transaction to proc something?