arraySelect = function(array, action) {
    return array.reduce(
      function(previous, current) {
        previous.push(action(current));
        return previous;
      }, []);
    }
AngularJS hack - This way we can get and decorate all custom directives
in order to broadcast a custom $directiveAdd event