I think this is not needed if you are using the abstract base factory