Just updated Wicket to enable even more CompoundPropertyModel magic! You can now use the following construct without pain:

The most important change is that you can just use the 'children' property as a model for a ListView, as you would any other property with any other Component.

/** Constructor */
public FooPage() {
    Form form = new Form("form", new CompoundPropertyModel(new Person(), null);
    add(form);

    form.add(new TextField("name"));
    form.add(new ListView("children") {
        protected IModel getListItemModel(final IModel listViewModel, final int index)
        {
            return new CompoundPropertyModel(super.getListItemModel(listViewModel, index));
        }
        void populateItem(ListItem item) {
            item.add(new TextField("name"));
            item.add(new TextField("favouriteDoll"));
        }
    }
}

The area marked in bold allows you to add components to your listitem using a CompoundPropertyModel.

I think this is pretty cool, and makes working with Wicket feel like a charm.