function prepareShadow(tweenProp, propValue) {
    // [horizontal, vertical, blur, spread, color: {r:0,g:0,b:0}, inset]
    // parseProperty for boxShadow, builds basic structure with ready to tween values
    var value = propValue;
    if (typeof value === 'string') {
      var inset = 'none';
      // a full RegEx for color strings
      var colRegEx = /(\s?(?:#(?:[\da-f]{3}){1,2}|rgba?\(\d{1,3},\s*\d{1,3},\s*\d{1,3}\))\s?)/gi;
      var currentColor = value.match(colRegEx);

      // make sure to always have the inset last if possible
      inset = /inset/.test(value) ? 'inset' : inset;
      value = /inset/.test(value) ? value.replace(/(\s+inset|inset+\s)/g, '') : value;

      // also getComputedStyle often returns color first "rgb(0, 0, 0) 15px 15px 6px 0px inset"
      value = value.replace(currentColor[0], '').split(' ').concat([currentColor[0].replace(/\s/g, '')], [inset]);

      value = processShadowArray(value, tweenProp);
    } else if (value instanceof Array) {
      value = processShadowArray(value, tweenProp);
    }

    return value;
  }
Returns the property tween object.
@param {string} tweenProp the property name
@param {string} propValue the property value
@returns {KUTE.shadowObject} the property tween object