text: define(['ModernizrProto', 'testPropsAll', 'cssToDOM'], function( ModernizrProto, testPropsAll, cssToDOM ) {
    // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input
    // Modernizr.prefixed('boxSizing') // 'MozBoxSizing'
  
    // Properties can be passed as DOM-style camelCase or CSS-style kebab-case.
    // Return values will always be in camelCase; if you want kebab-case, use Modernizr.prefixedCSS().
  
    // If you're trying to ascertain which transition end event to bind to, you might do something like...
    //
    //     var transEndEventNames = {
    //         'WebkitTransition' : 'webkitTransitionEnd',// Saf 6, Android Browser
    //         'MozTransition'    : 'transitionend',      // only for FF < 15
    //         'transition'       : 'transitionend'       // IE10, Opera, Chrome, FF 15+, Saf 7+
    //     },
    //     transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];
  
    var prefixed = ModernizrProto.prefixed = function( prop, obj, elem ) {
      // Convert kebab-case to camelCase
      if (prop.indexOf('-') != -1) {
        prop = cssToDOM(prop);
      }
      if (!obj) {
        return testPropsAll(prop, 'pfx');
      } else {
        // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame'
        return testPropsAll(prop, obj, elem);
      }
    };
  
    return prefixed;
  });
  