<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def build_module(name, objs, doc='', source=None, mode='ignore'):
 """Create a module from imported objects. Parameters name : str New module name. objs : dict Dictionary of the objects (or their name) to import into the module, keyed by the name they will take in the created module. doc : str Docstring of the new module. source : Module object Module where objects are defined if not explicitly given. mode : {'raise', 'warn', 'ignore'} How to deal with missing objects. Returns ------- ModuleType A module built from a list of objects' name. """

    import types
    import warnings
    import logging

    logging.captureWarnings(capture=True)

    try:
        out = types.ModuleType(name, doc)
    except TypeError:
        msg = "Module '{}' is not properly formatted".format(name)
        raise TypeError(msg)

    for key, obj in objs.items():
        if isinstance(obj, str) and source is not None:
            module_mappings = getattr(source, obj, None)
        else:
            module_mappings = obj

        if module_mappings is None:
            msg = "{} has not been implemented.".format(obj)
            if mode == 'raise':
                raise NotImplementedError(msg)
            elif mode == 'warn':
                warnings.warn(msg)
            else:
                logging.info(msg)

        else:
            out.__dict__[key] = module_mappings
            try:
                module_mappings.__module__ = name
            except AttributeError:
                msg = "{} is not a function".format(module_mappings)
                raise AttributeError(msg)

    sys.modules[name] = out
    return out