Applications can have 0-* windows
Windows can have 1-* tabs
Each window has a menu based on a template from the application
