         mailComposer = MFMailComposeViewController()
         self.feedback = feedback
         
+        attachFeedback(feedback)
+        
+        viewController.presentViewController(mailComposer, animated: true, completion: nil)
+    }
+    
+    // MARK: - MailSender
+    
+    private func attachFeedback(feedback: Feedback) {
         if let subject = feedback.title {
             mailComposer.setSubject(subject)
         }

        // TODO: Encode log once it exists.
        
        if let additionalInformation = feedback.additionalInformation {
            let data = try? NSJSONSerialization.dataWithJSONObject(additionalInformation, options: .PrettyPrinted)
            
            if let data = data {
                mailComposer.addAttachmentData(data, mimeType: MIMEType.JSON.rawValue, fileName: "info.json")
            }
            else {
                print("PinpointKit could not attach Feedback.additionalInformation because it was not valid JSON.")
            }
        }
        
        viewController.presentViewController(mailComposer, animated: true, completion: nil)
    }
    
    // MARK: - MailSender
    
    private func tryToAttachScreeenshot(screenshot: UIImage) {
        do {

        if let body = feedback.body {
            mailComposer.setMessageBody(body, isHTML: false)
        }
        
        if let annotatedScreenshot = feedback.annotatedScreenshot {
            tryToAttachScreeenshot(annotatedScreenshot)
            
