Currently, this requires frames to work. It just gets too messy otherwise!
Any suggestion for a system that would work without frames are gratefully accepted. It could have been worse, it could have been Java...