Update now uses a timer, added timeouts to hooks