Made asynchronous timed-out notifications optional

They're reasonably fast, but introduce a bit of overhead that can be
avoided if you don't benefit from them.
Added HandleFunc