* Small logic cleanups
* Small logic cleanups (#3451)
* remove a few things
* oops
* stop swallowing the error
* queue callbacks
* oops
* log error if caught
* no need to be nullable
* move isClosing=true up
* reset `isClosing` and `closeCallbacks` on close completion and open
* run queued callbacks on `open` if there are any pending
* rm unnecessary ref and check
* ensure order of calls is always correct
* call `snapToIndex()` on open
* add tester to storybook
---------
Co-authored-by: Hailey <me@haileyok.com>