Use a timer to avoid polling