Added Base, Factory, and 3 subclasses from Project 1 with supporting code in viewcontoller