A scalable approach to page transitions in AngularJS