def _make_object(object_generator, type_name, overlay_props=None):
    """
    Make an object via an object generator.

    :param object_generator: The generator to use
    :param type_name: The name of a spec, which the generator should recognize
    :param overlay_props: After having generated the object, a dict of
        property names and values which will be overlaid.  This can act to
        override generated property values.
    :return: The object, as a dict
    """

    sdo_dict = object_generator.generate(type_name)

    if overlay_props:
        sdo_dict.update(overlay_props)

    return sdo_dict