provide factory interface if custom repository needs to create custom derived entities