factory returns IWindow