code: function() {
  		'use strict';
  		var features = arguments;
  		
  		if (!features.length) {
  			return;
  		}
  		
  		// Detect isWhat, tag and parent class
  		var props = feature.apply(null, arguments);
  		var isWhat = props.is;
  		var tag = props.tag;
  		var parentClass = props.extends;
  
  		if (!parentClass) {parentClass = HTMLElement;}
  		if (tag && !isWhat) {isWhat = tag; tag = null;};
  		if (!tag && !isWhat) {utils.warn('Name not specified'); return;} 
  		if (props.polyfill == 'v0') {
  			return utils.registerElement(parentClass, isWhat, tag, arguments);
  		} else {
  			return utils.defineElement(parentClass, isWhat, tag, arguments);
  		}
  		
  	}
docs: Define a component and register in the DOM
  @memberof bb
  @param {object} [...] One or more features to have in the component. Features will be mixed. At least one of the features needs to have "is" proeprty defined.
  @return {function} Constructor for elements