I have an application that uses a plugin model for adding new buttons/tool windows to an application. These plugins are loaded when the application starts and i they have tool windows they are created when a button in a menu bar is clicked. When the application closes we save the layout of the tools to a file. When we start the application we load the layout after loading the plugins. When a button is clicked we create a new window because one has not been created yet. The location of these windows is not where they were previously. Can persisting layout be accomplished when programmaticly creating tool windows?