Model Code:
@Tabbed
public <TypeOfProperty> get<PropertyName>() { ... }

Default Tabbed
<!-- div and span work also, but iframe is the default 
     to differentiate it better -->
<iframe>
As Unordered List
    <ul>
    As Collapsible
    new GeneratedBinding(this).addBindingInterceptor(new BindingInterceptor() {
        @Override
        public Component createTabbed(final ITabbedHtmlElement<?, ?> e) {
            if (TabbedAndPanelsConstants.asCollapsible.equals(e.getWicketId())) {
                return new ModelCollapsibleList(e);
            }
            return super.createTabbed(e);
        }
    }).bind();
    As Accordion
    new GeneratedBinding(this).addBindingInterceptor(new BindingInterceptor() {
        @Override
        public Component createTabbed(final ITabbedHtmlElement<?, ?> e) {
            if (TabbedAndPanelsConstants.asAccordion.equals(e.getWicketId())) {
                return new ModelAccordion(e);
            }
            return super.createTabbed(e);
        }
    }).bind();