         case NotSupported
     }
 
-    typealias WriteClosure = (ResponseWriter) throws -> Void
-    typealias Writer = Socket throws -> Void
-
+    public var contentType: ContentType
     public var status: Status
     public var body: [UInt8]
-    var contentType: ContentType
     public var cookies: [String: String] = [:]
+    
     unowned let request: Request
-    unowned let socket: Socket
-
-    enum ContentType {
-        case Text, Html, Json, None
+    unowned let responder: Responder
+    let socket: Socket
+
+    public enum ContentType {
+        case Text, HTML, JSON, None
     }
 
     public enum Status {

import Foundation

public protocol ResponseWriter {
    func write(data: [UInt8])
}

/**

        }
    }

    func headers() -> [String: String] {
        var headers = ["Server" : "Blackfish \(Blackfish.VERSION)"]

