Specification for reusable AngularJS components