'Run the module with the formatted payload.
Render the contained payload with mako and pass the result
as argument to the given module. The result is processed by the
`self.postprocess` method.
Args:
format_arg (dict): The dictionary to format the payload with.
Return:
Object. Contains the postprocessed result of the `run_argv`
module execution.'

def run(self, format_args={}):

    try:
        formatted = self.format(format_args)
    except TypeError as e:
        import traceback
        log.debug(traceback.format_exc())
        raise DevException(messages.vectors.wrong_arguments_type)
    if self.background:
        thread.start_new_thread(modules.loaded[self.module].run_argv, (formatted,))
        result = None
    else:
        result = modules.loaded[self.module].run_argv(formatted)
    if self.postprocess:
        result = self.postprocess(result)
    return result
