code: function (attrs) {
  	var keys = attrs.keys, i = keys.length, max_priority = 0,
  		definition, result;
  
  	while (i--) {
  		if (directives[keys[i]]) {
  			definition = cache.resolve_directive(keys[i]);
  			if (definition.priority > max_priority) {
  				result = { name : keys[i], definition : definition };
  			}
  		}
  	}
  
  	if (result) {
  		attrs.remove(result.name);
  	}
  
  	return result;
  }
docs: /* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
  File Name   : collect_components.js
  Created at  : 2017-08-10
  Updated at  : 2017-09-20
  Author      : jeefo
  Purpose     :
  Description :
  _._._._._._._._._._._._._._._._._._._._._.