Reuse the window of same frame name
Simplify the GuestWindowManager

Instead of recording guest explicitly in a map, we just make use of
closure for bookkeeping.