Adding timeout for Timer. Adding ThreadedTimer + Semaphore with timeout.