Now that we have our Database interface defined, we will implement a database-like system that uses CSV files to store the information instead of an actual database.
First, we make sure we bring the CSVFiles class dependencies by using the source() function to bring files that have the definitions we need. Specifically, we bring the Exchange and User classes (which will be defined later), as well as the Database interface. We also define the DIR constant with the directory that will contain the CSV files with our system's data.
The actual CSVFiles class is defined using the standard R6 methods shown before. Note that it inherits from the Database class and provides overrides for every ...