Ok. And is there a reason you went with interface over abstract class for collections? I think the former will lead to a bunch of duplicate code