Como posso criar modelos recursivos no AngularJS ao usar objetos aninhados?

Eu estou tentando construir um formulário dinamicamente de um objeto JSON, que contém grupos aninhados de elementos de formulário:

  $scope.formData = [
  {label:'First Name', type:'text', required:'true'},
  {label:'Last Name', type:'text', required:'true'},
  {label:'Coffee Preference', type:'dropdown', options: ["HiTest", "Dunkin", "Decaf"]},
  {label: 'Address', type:'group', "Fields":[
      {label:'Street1', type:'text', required:'true'},
      {label:'Street2', type:'text', required:'true'},
      {label:'State', type:'dropdown',  options: ["California", "New York", "Florida"]}
    ]},
  ];

Eu tenho usado blocos ng-switch, mas torna-se insustentável com itens aninhados, como no objeto Address acima.

Aqui está o violino:http://jsfiddle.net/hairgamiMaster/dZ4Rg/

Alguma idéia de como abordar melhor esse problema aninhado? Muito Obrigado!

questionAnswers(5)

yourAnswerToTheQuestion