I don't see a reason for a timeout if we already have event listeners for visibility and time change. Could you explain your reasons? Maybe I'm missing something.