| Class Summary | 
| BaseSection | The base section is the base implementation of the section interface. | 
| ClearBreak | Simple br element with an assigned style name of "clear" | 
| CollapsableSection | A section that is collapsed with a link and "opens up" when clicked. | 
| GroupSection | A section which uses GroupFieldLayout. | 
| HorizontalSection | This class uses HorizontalLayout to build a section with fields on the right and field labels on the left . | 
| InfoMessage | A widget used to show important information to the user often used at the top of sections. | 
| MultiplicityHeader |  | 
| MultiplicitySection | This class creates a section containing a multiplicity widget based on the supplied configuration
 Sample code to use this class :- private void addVersionCodeFields(Section section) {
        QueryPath parentPath = QueryPath.concat(COURSE, QueryPath.getPathSeparator(), VERSIONS);
        MultiplicityConfiguration config = new MultiplicityConfiguration(MultiplicityConfiguration.MultiplicityType.GROUP,
                MultiplicityConfiguration.StyleType.TOP_LEVEL_GROUP, getMetaData(parentPath.toString()));
        config.setAddItemLabel(getLabel(LUConstants.ADD_VERSION_CODE_LABEL_KEY));
        config.setItemLabel(getLabel(LUConstants.VERSION_CODE_LABEL_KEY));
        config.setUpdateable(true);
        FieldDescriptor parentFd = buildFieldDescriptor(COURSE + QueryPath.getPathSeparator() + VERSIONS, getLabel(LUConstants.VERSION_CODES_LABEL_KEY), null);
        config.setParentFd(parentFd);
        FieldDescriptor versionCode = buildFieldDescriptor(CreditCourseVersionsConstants.VERSION_CODE, LUConstants.VERSION_CODE_LABEL_KEY, parentPath.toString());
        FieldDescriptor versionTitle = buildFieldDescriptor(CreditCourseVersionsConstants.VERSION_TITLE, LUConstants.TITLE_LABEL_KEY, parentPath.toString());
        config.addField(versionCode);
        config.addField(versionTitle);
        MultiplicitySection ms = new MultiplicitySection(config);
        section.addSection(ms);
        }
 TODO:
   - Create factory methods for each 'flavour' of multiplicity
   - Styling options for table, e.g. | 
| RemovableItemWithHeader | Deprecated. | 
| SectionBinding | Model widget binding for a section - calls the bindings on its fields and sub sections. | 
| SwapSection | A section that contains sections that can be swapped in based on user selection on a KSSelectItemWidgetAbstract | 
| TableSection | Section that uses a TableFieldLayout. | 
| ValidationMessagePanel | The validation message panel used for field elements, adds validation errors to a list and styles
 them appropriately. | 
| VerticalSection | A section which uses a VerticalFieldLayout | 
| WarnContainer | An information message which can change its style to appear with a warning around the
 content and add additional information to its layout when it needs to warn the user about the contained
 information/widget functionality before they interact with it. |