implement isOpen and isClosed
update @Raynos' cPR to match project code style, ahem.
6.4.0