Incorporate feedback from review

* Make sure LoggingRunnable gets invoked.
* Make timer delay a function of the warning time
* Replace stack trace printing with a custom exception