I've been following a pattern of Angular development of using components as much as possible, exclusively using controllerAs, and following many recommendations in John Papa's styleguide. The result is heavy use of directives and privately scoped controllers. This is great for organization, but this