The module system described so far provides a basic architecture. However some mechanism needs to be available to define which modules should be used. While it is possible to do this using Java directly this would require the user to possess a Java compiler to enable new modules, or reconfigure existing ones. By defining the loading and configuration in XML, it's possible to do this using a text editor.