 class PinpointKit {
     
     struct Configuration {
-        static let defaultConfiguration = Configuration()
-
-        var fillColor: UIColor = .redColor()
-        var strokeColor: UIColor = .whiteColor()
         
-        var screenshotEditor: ScreenshotEditor = EditImageViewController()
-        var feedbackCollector: FeedbackCollector = FeedbackViewController()
-        var sender: Sender = MailSender()
+        enum LogCollectionStatus {
+            case CollectSilently(collector: LogCollector)
+            case CollectAndPrompt(collector: LogCollector, promptText: String)
+            case DoNotCollect
+        }
+        
+        let tintColor: UIColor
+        let annotationStrokeColor: UIColor
+        
+        let logCollectionStatus: LogCollectionStatus
+        
+        let screenshotEditor: ScreenshotEditor
+        let feedbackCollector: FeedbackCollector?
+        let sender: Sender
+        
+        init(tintColor: UIColor = .redColor(), annotationStrokeColor: UIColor = .whiteColor(), logCollectionStatus: LogCollectionStatus = LogCollectionStatus.CollectAndPrompt(collector: SystemLogCollector(), promptText: NSLocalizedString("Include Console Log", comment: "Text asking whether or not to include a console log in a feedback form.")), screenshotEditor: ScreenshotEditor = EditImageViewController(), feedbackCollector: FeedbackCollector? = FeedbackViewController(), sender: Sender = MailSender()) {
+            self.tintColor = tintColor
+            self.annotationStrokeColor = annotationStrokeColor
+            self.logCollectionStatus = logCollectionStatus
+            self.screenshotEditor = screenshotEditor
+            self.feedbackCollector = feedbackCollector
+            self.sender = sender
+        }
     }
     
     static let defaultPinpointKit = PinpointKit()

    func pinpointKit(pinpointKit: PinpointKit, didFinishWithResult: Bool)
}

protocol Sender {}

struct Feedback {



class FeedbackViewController: UIViewController, FeedbackCollector {}

class MailSender: Sender {}

class SystemLogCollector: LogCollector {}


