         // actual PDU length
         let length = data.count
         
-        print("\(length) encoded bytes")
+        //print("\(length) encoded bytes")
         
         /// MTU must be large enough to hold PDU. 
         guard length <= maximumTransmissionUnit else { return nil }

        guard let opcode = ATT.Opcode(rawValue: opcodeByte)
            else { throw Error.GarbageResponse(recievedData) }
        
        print("Recieved opcode \(opcode)")
        
        // Act on the received PDU based on the opcode type
        switch opcode.type {

    /// Performs the actual IO for sending data.
    public func write() throws -> Bool {
        
        //print("Will write")
        
        guard let sendOpcode = pickNextSendOpcode()
            else { return false }
        
        assert(sendOpcode.data.count <= maximumTransmissionUnit, "Trying to send \(sendOpcode.data.count) bytes when MTU is \(maximumTransmissionUnit)")
        
        //print("Sending data... (\(sendOpcode.data.count) bytes)")
        
        try socket.send(Data(byteValue: sendOpcode.data))
        
        let opcode = sendOpcode.dynamicType.PDUType.attributeOpcode
        
        //print("Did write \(opcode)")
        
        /* Based on the operation type, set either the pending request or the
        * pending indication. If it came from the write queue, then there is
