A parte che mi sono perso nella spiegazione, io opterei per angularjs