function deconstructComponentInternal(component) {
	    if (component) {
	      var componentIndex = createdComponents_.indexOf(component);
	      createdComponents_.splice(componentIndex, 1);

	      var upgrades = component.element_.getAttribute('data-upgraded').split(',');
	      var componentPlace = upgrades.indexOf(component[componentConfigProperty_].classAsString);
	      upgrades.splice(componentPlace, 1);
	      component.element_.setAttribute('data-upgraded', upgrades.join(','));

	      var ev;
	      if ('CustomEvent' in window && typeof window.CustomEvent === 'function') {
	        ev = new CustomEvent('mdl-componentdowngraded', {
	          bubbles: true, cancelable: false
	        });
	      } else {
	        ev = document.createEvent('Events');
	        ev.initEvent('mdl-componentdowngraded', true, true);
	      }
	      component.element_.dispatchEvent(ev);
	    }
	  }
Keycodes, for code readability.

@enum {number}
@private