Factored out transition countdown stuff into a reuseable service