Command framework for AngularJS