createDefined (obj, name, Prop, fallback) {
        return _.has(obj, name) ? (new Prop(obj[name])) : fallback;
    }
Creates a property on an object, with the given type.

@param {Object} obj -
@param {String} name -
@param {Property} Prop -
@param {*} [fallback] -
@returns {Prop|undefined}