Semi-Functional, Moved Gameplay to Method, Added class inheritence to eliminate duplicate methods