 			defer { self.state = .finished }
 		
 			guard networkError == nil else {
-				self.result = Failable.failure(SpineError.networkError(networkError!))
+				self.result = .failure(.networkError(networkError!))
 				return
 			}
 			
 			if statusCodeIsSuccess(statusCode) {
-				self.result = Failable.success()
+				self.result = .success()
 			} else if let data = responseData , data.count > 0 {
 				do {
 					let document = try self.serializer.deserializeData(data, mappingTargets: nil)
-					self.result = .failure(SpineError.serverError(statusCode: statusCode!, apiErrors: document.errors))
+					self.result = .failure(.serverError(statusCode: statusCode!, apiErrors: document.errors))
 				} catch let error {
-					self.result = .failure(promoteToSpineError(error))
+					self.result = .failure(error.asSpineError)
 				}
 			} else {
-				self.result = .failure(errorFromStatusCode(statusCode!))
+				self.result = .failure(.serverError(statusCode: statusCode!, apiErrors: nil))
 			}
 		}
 	}

		do {
			payload = try serializer.serializeResources([resource], options: options)
		} catch let error {
			result = .failure(error as! SpineError)
			state = .finished
			return
		}

			defer { self.state = .finished }
			
			if let error = networkError {
				self.result = .failure(.networkError(error))
				return
			}
			
