assignHidden (obj, name, prop) {
        Object.defineProperty(obj, name, {
            value: prop,
            configurable: true,
            enumerable: false,
            writable: true
        });

        return obj;
    }
Creates a hidden property on an object, which can be changed, but is not enumerable.

@param {Object} obj -
@param {String} name -
@param {*} prop -
@returns {*}