Make schema names consistent
Lose an unneeded $apply
Add some explanation
Add a simplified ng-repeat directive to fix nested schemas