     }
 
     // Helper for finding all the column names in this statement.
-    lazy var columns: [String] = {
+    private lazy var columns: [String] = {
         // This untangles all of the columns and values for this row when its created
         let columnCount = sqlite3_column_count(self.stmt)
         var columns = [String]()

        return error
    }

    // Helper for opening a connection, starting a transaction, and then running a block of code inside it.
    // The code block can return true if the transaction should be commited. False if we should rollback.
    public func transaction(transactionClosure: (db: SQLiteDBConnection)->Bool) -> NSError? {
        return withConnection(SwiftData.Flags.ReadWriteCreate) { db in
            if let err = db.executeChange("BEGIN EXCLUSIVE") {

        return nil
    }

    /// Closes a connection. This is called via deinit. Do not call this yourself.
    private func closeCustomConnection() -> NSError? {
        let status = sqlite3_close(sqliteDB)

