function _deepClone(obj) {
    switch (typeof obj) {
        case "object":
            return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5
        case "undefined":
            return null; //this is how JSON.stringify behaves for array items
        default:
            return obj; //no need to clone primitives
    }
}
Deeply clone the object.
https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)
@param  {any} obj value to clone
@return {any} cloned obj