Use provider instead of service
Add test scripts
Add Grunt tasks
Add test cases