#Factory Pattern
The Factory design pattern is a way of creating objects to some template, without either the instantiating function or the object classes themselves being concerned with the details of the actual creation.
##So yeah...
A Type of object superclass is defined somehow. There are examples online of this being done with abstract class inheritance and with interface composition. Since there is a chance Val Gibson may be reading this, I'll avoid using inheritance! And since there is a chance Tony is reading this, I'll use Pokemon in this example:
public interface Pokemon {