     return rfc1123DateFormatter.stringFromDate(NSDate())
 }
 
-@objc class BRAPIClient: NSObject, NSURLSessionDelegate, NSURLSessionTaskDelegate {
+@objc public class BRAPIClient: NSObject, NSURLSessionDelegate, NSURLSessionTaskDelegate {
     var session: NSURLSession!
     var queue: NSOperationQueue!
     var logEnabled = true


let BRAPIClientErrorDomain = "BRApiClientErrorDomain"

typealias URLSessionTaskHandler = (NSData?, NSHTTPURLResponse?, NSError?) -> Void
typealias URLSessionChallengeHandler = (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void

extension String {
    static var urlQuoteCharacterSet: NSCharacterSet {

    // MARK: API Functions
    
    // Fetches the /v1/fee-per-kb endpoint
    public func feePerKb(handler: (feePerKb: uint_fast64_t, error: String?) -> Void) {
        let req = NSURLRequest(URL: url("/v1/fee-per-kb"))
        let task = session.dataTaskWithRequest(req) { (data, response, err) -> Void in
            var feePerKb: uint_fast64_t = 0
