I agree with your dividing line but I'm not sure if this crosses it or not. Its taking an API object and passing it to the separate validator class to format things and perform any necessary summarizations. After that that, it takes the results returned by the validator class and hands it to the classes in cassandra.py for writing to the database. It seems like the main business logic is in validator.py and cassandra.py and this function is just the glue between those. Part of it might just be that it is poorly named as `database_write` and something like `save_object` or similar would be better since its not directly writing to any database.