Window management is probably the biggest open problem with Wily, probably because there's no real solution, only heuristics.
The first iteration of Wily creatied a bunch of separate X windows and let the window manager handle arranging them. This seems a more modular, tool-based approach. However, bitter experience showed that most existing window managers just don't cut it when you're quickly creating and deleting lots of windows. Acme's window management,was much better.
The logical solution then would be to write an X window manager that works like the window management in Acme. However:
So Wily is designed to be run in one big window, and it does its own window management within that. It's a bit of a hack, but probably the best solution for the moment.
Still, I hope it shouldn't be too hard to remove the "Wily is managing all the windows" assumption from the code if some brave soul solves the problems mentioned above.