  via the `state` property.
 */
 @objc public final class ServiceTask: NSObject {
-    public typealias ResponseProcessingHandler = (NSData?, NSURLResponse?) -> ServiceTaskResult
+    public typealias ResponseProcessingHandler = (NSData?, NSURLResponse?) throws -> ServiceTaskResult
     
     /// A closure type alias for a success handler.
     public typealias UpdateUIHandler = (Any?) -> Void

            
            do {
                let json = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments)
                return handler(json, response)
            } catch let error {
                return .Failure(error)
            }


extension ServiceTask {
    /// A closure type alias for handling the response as JSON.
    public typealias JSONHandler = (AnyObject, NSURLResponse?) throws -> ServiceTaskResult
    
    /**
     Add a response handler to serialize the response body as a JSON object. The
