can we just have `isOpen` return false if the panel was disposed and remove the `!isDisposed(this)` call here?