         connection.sendError(opcode, error: error, handle: handle)
     }
     
-    private func processReadByType() {
+    private func respond<T: ATTProtocolDataUnit>(response: T) {
         
+        log?("Response: \(response)")
         
+        connection.send(response) { _ in }
     }
     
     // MARK: Callbacks

        guard let response = ATTReadByGroupTypeResponse(attributeDataList: attributeData)
            else { fatalError("Could not create ATTReadByGroupTypeResponse. Attribute Data: \(attributeData)") }
        
        log?("Response: \(response)")
        
        connection.send(response) { _ in }
    }
    /*
    private func readByType(pdu: ATTReadByTypeRequest) {
        
        let opcode = pdu.dynamicType.attributeOpcode

        connection.register(readByGroupType)
        
        // Read By Type
        connection.register(readByType)
        
        // Find Information
        
