Implementation of the popular 2048 game using AngularJS best practices