'Exploits a vulnerability.
This raises a text dialog that informs how the exploit
is going until it finishes.
This method is going to:
a) Create the TextDialog
b) spawn a thread to launch the exploit process
c) spawn a thread to read from the output manager queue
b and c both write messages to the TextDialog.
:param expl: the exploit to use
:param vuln: the vulnerability to exploit'

def _execute_exploit(self, expl, vuln):

    dlg = TextDialogConsumer('Exploit!')
    exploit_task = self._launch_exploit(dlg, expl, vuln)
    gobject.idle_add(exploit_task.next)
    return
