     
     public override func didDisconnect() {
         super.didDisconnect()
-        matrixCharacteristic = nil
+        matrixWriter = nil
         delegate?.nuimoControllerDidDisconnect?(self)
     }
     

    public var state: NuimoConnectionState { get{ return self.peripheral.state.nuimoConnectionState } }
    public var batteryLevel: Int = -1 { didSet { if self.batteryLevel != oldValue { delegate?.nuimoController?(self, didUpdateBatteryLevel: self.batteryLevel) } } }
    public var defaultMatrixDisplayInterval: NSTimeInterval = 2.0
    public var matrixBrightness: Float = 1.0
    public var firmwareVersion = 0.1
    
    public override var serviceUUIDs: [CBUUID] { get { return nuimoServiceUUIDs } }
    public override var charactericUUIDsForServiceUUID: [CBUUID : [CBUUID]] { get { return nuimoCharactericUUIDsForServiceUUID } }
    public override var notificationCharacteristicUUIDs: [CBUUID] { get { return nuimoNotificationCharacteristicnUUIDs } }

    private var matrixCharacteristic: CBCharacteristic?
    private var currentMatrix: NuimoLEDMatrix?
    private var currentMatrixDisplayInterval: NSTimeInterval = 0.0
    private var isWaitingForMatrixWriteResponse: Bool = false
    private var writeMatrixOnWriteResponseReceived: Bool = false
    private var writeMatrixResponseTimeoutTimer: NSTimer?
    
    public override func connect() {
        super.connect()

    
    public override func didConnect() {
        super.didConnect()
        matrixWriter = nil
        delegate?.nuimoControllerDidConnect?(self)
    }
    
