Migrated to an AngularJS project
Refactored in order to improve DI
Unit tested