     }
 }
 
-public class MQTTClient {
+public final class MQTTClient {
     private let mosquittoContext: __MosquittoContext
     internal let operationQueue: NSOperationQueue
     private var isFinished: Bool

    }
}

public class MQTTWillOpts {
    public let topic: String
    public let payload: NSData
    public let qos: Int32

    }
}

public final class MQTT {
    public class func invokeMqttConnection(mqttConfig: MQTTConfig) -> MQTTClient {
        let mosquittoContext = __MosquittoContext()
        mosquittoContext.onConnectCallback = mqttConfig.onConnectCallback
