Add a timer timeout mechanism

Change-Id: I6c10309c8a2499bd7372f982b6ec37b3813941be