         }
     }
     
-    /// Initializes the logger using GRDB to interface with SQLite, and your standard URLSession for uploading
-    /// logs to the specified server.
+    /// Initializes a relay.
     ///
     /// - Parameters:
-    ///   - dbPath: Location for storing the database containing logs. Please be careful not to specify a nonpersistent
-    ///   location for production use.
-    ///
-    ///   - configuration: Remote configuration for uploading logs. See the `persistentDictionary` method on `LogRecord` for information
-    ///   on the JSON body and the `RelayRemoteConfiguration` class for options.
-    ///
-    ///   - session: session to use to upload the logs. If one is not provided a background session will be made
-    ///
-    /// - Throws: A DatabaseError is thrown whenever an SQLite error occurs. See the GRDB documentation here
-    ///   for more information: https://github.com/groue/GRDB.swift#documentation
-    ///
+    ///   - identifier: the identifier to be used for this relay. Each relay maintains it's own
+    ///                 internal sqlite database for bookkeeping.
+    ///
+    ///   - configuration: see the documentation for `RelayRemoteConfiguration` for more information.
+    ///
+    ///   - testSession: only to be used when running tests!
     required public init(identifier: String, configuration: RelayRemoteConfiguration, testSession: URLSessionProtocol? = nil) {
         
         self.identifier = identifier

        }
    }
    
    func flushLogs() {
        do {
            try dbQueue?.inDatabase({ db in
                let logRecords = try LogRecord.filter(Column("upload_task_id") == nil).fetchAll(db)

        }
    }
    
    
    /// Ensures a `LogRecord` does not have an uploadTaskID not associated with any `URLSessionTasks` in the session.
    func cleanup() {
        // Get our tasks from the session and ensure we dont have a log record associated with a nonexistent task.
        urlSession.getAllTasks { [weak self] tasks in
