Every ApplicationModules has to implement a simple interface of 3 methods: stage1(), stage2() and stage3() that receive 3 parameters (by reference if they intend to change the values). The first parameter contains a multidimensional array of all parameters passed from the user to the WebBuilder2 framework. The second parameter contains the page configuration for the entire page currently being processed. The final parameter contains the placeholder for which the given module is resonsible as defined in the page configuration (essentially the name of the placeholder as in the FrameTemplate). Also the final parameter is the key to the first dimension of the first 2 parameters to determine the parameters and page configurations relevant to the given module. Every module may decide to rewrite the page configuration or may need to read variables pass to some other module that is configured to be loaded on the same page. Therefore it is necessary obviously to pass the module the entire parameter and page configuration array. Here is the list of the currently available ApplicationModules (there are actually more modules already written, but we first want to clean them up a bit - german comments, atleast basic level of docs etc.). * CmsModule * DebuggerModule * FileLoaderModule * LoginModule * SitemapModule * UserModule * UserPreferenceModule