def _submit(self):
        '''submit the issue to github. When we get here we should have:
           
           {'user_prompt_issue': 'I want to do the thing.', 
            'user_prompt_repo': 'vsoch/hello-world', 
            'user_prompt_title': 'Error with this thing',
            'record_asciinema': '/tmp/helpme.93o__nt5.json',
            'record_environment': ((1,1),(2,2)...(N,N))}

           self.token should be propogated with the personal access token
        ''' 
        body = self.data['user_prompt_issue']
        title = self.data['user_prompt_title']
        repo = self.data['user_prompt_repo']

        # Step 1: Environment

        envars = self.data.get('record_environment')
        body = body + envars_to_markdown(envars)

        # Step 2: Asciinema

        asciinema = self.data.get('record_asciinema')
        if asciinema not in [None, '']:
            url = upload_asciinema(asciinema)
               
            # If the upload is successful, add a link to it.

            if url is not None:
                body += "\n[View Asciinema Recording](%s)" %url
 
        # Add other metadata about client

        body += "\n\ngenerated by [HelpMe](https://vsoch.github.io/helpme/)"
        body += "\nHelpMe Github Issue: %s" %(self.run_id)

        # Submit the issue

        issue = create_issue(title, body, repo, self.token)
        return issue