Removing the factory interface and adjusting the AbstractFactory, do not see a reason to keep this interface.