     var receivingBytes: ((_ topic: String, _ bytes: [UTF8.CodeUnit]) -> ())?
     var receivingData: ((_ topic: String, _ data: Data) -> ())?
 
-    fileprivate var inputStream: InputStream?
-    fileprivate var outputStream: OutputStream?
-
-    fileprivate var serialQueue: DispatchQueue?
-
-    fileprivate var messageBuffer = UnsafeMutablePointer<UInt8>.allocate(capacity: BUFFER_SIZE)
-    fileprivate var byteCount = 0
-
-    fileprivate var messageParserState: MQTTMessageParserState = .decodingHeader
-    fileprivate var messageType: MQTTMessage = .connack
-
-    fileprivate var messageLengthMultiplier = 1
-    fileprivate var messageLength = 0
-
-    fileprivate var topicLength: Int?
-
-    fileprivate var messageId: UInt16 = 0
-
-    fileprivate static let BUFFER_SIZE: Int = 4096
+    private var inputStream: InputStream?
+    private var outputStream: OutputStream?
+
+    private var topicLength: Int?
+
+    private var messageId: UInt16 = 0
+
+    private static let BUFFER_SIZE: Int = 4096
 
     init?(host: String, port: Int, pingInterval: UInt16 = 10) {
-        super.init()
-
         self.host = host
         self.port = port
 

     * |--------------------------------------
     */

    fileprivate func mqttConnect(keepalive: UInt16) {
        let baseIntA = Int(arc4random() % 65535)
        let baseIntB = Int(arc4random() % 65535)
        let client = "client_" + String(format: "%04X%04X", baseIntA, baseIntB)

    var host: String?
    var port: Int?

    var isConnected = false

    var pingInterval: UInt16 = 10

    var receivingMessage: ((_ topic: String, _ message: String) -> ())?
