Add ability to exchange underlying call to backend. Restructure source and test files. Update the package.json and bower.json. Update the grunt and the karma configs.