Use `time.After` instead of initializing a `Ticker`

This is an alternative implementation that's a little bit cleaner.