Refactoring to generify implementation classes