Reusable components (directives, etc) for AngularJS apps