emit "shutting-down" event instead of using `finally`

`finally` wasn't a very descriptive name, it just allowed users to register a listener for the shutting down event which we never emitted before. this PR switches to just emit the event to provide a more familiar API and removes the poorly named `finally` method.