I think it would make sense to add a comment here why this new class is needed. Otherwise lgtm