Simplified, and support passing a custom form builder (to support Ryan Bate's NestedForm wrapper