made window abstract class to hide CloseObservers from users