In the assignment, it writes "... enhance the Data class. You may do this by modification or subclassing, but you should document the approach and reason for your choice." Can I do both i.e. modification and subclassing?
You have to specify one or the other. They are interested in your reasons. It goes without saying that if you subclass it, you are going to modify it. I chose not to subclass. Why? Because the project as given was incomplete and was specialized to a particular database. If it had been generalized, and you needed to make mods in order to have it work with the db.db datastore, then it would have been wise to subclass.