Github user justinleet commented on the issue: https://github.com/apache/metron/pull/970 @nickwallen Refactoring should be done, barring any additional changes. The only abstract class ends up being the UpdateDao (unless we want to be consistent), because mutation is really the main shared code. Otherwise I just chose to leave them. I'm letting Travis take care of the running the existing tests for me (although I've run the obviously relevant tests locally). I'll run through and see what other tests should be added tomorrow (and let me know if you come across any during review).