We already have another 2 classes that implement similar functionality, so I would suggest to merge this change, and then have a separate commit for refactoring all 3 classes.