Adding in an inventory system, this is the first of multiple pushes on that front.  Also renamed all the abstract classes to more clearly indicate what is an Abstract Class