Initialized angular app and loaded in index.html.
Create main template main.html.
Create GameController.
Create Game module.
Create unit test for GameManager.moveAvailable method.
Create GameManager.moveAvailable method, and pass unit test.
Create unit test for reinit, updateScore methods.
Create reinit, updateScore and getBestScore methods. Pass unit test.
Create unit test for newGame method
Create newGame method and pass unit test.
Refactor index.html and import Grid module. Add grid directive into main.html
Fix app.js syntax error.
Inject GridManager.
Create unit test for TileModel within Grid module.
Create unit test for GridManager within Grid module.
Implement GridManager service and pass unit test.
Update test for generateEmptyGameBoard.
Update generateEmptyGameBoard method in Grid module and pass new test.
Refactor TileModel. Instead of storing x, y, we store coordinate object which contains x and y. Pass test.
Update unit test for generateEmptyGameBoard. Now it requires that method to initialize both grid and tiles.