[x] Rename ConvertibleFiles to Wrapper like FeatureWrapper, JavaWrapper, ClassWrapper, GraphWrapper, AdocWrapper
[x] Only Projects should create new objects like createCucumberFeatureFile in CucumberProject. They should take a name and type and return a ConvertibleFile. Make an abstract method for this
[x] Change collections of Class to collections of ConvertibleObjects. First make a ClassWrapper like FeatureWrapper and then update the UMLClassWrapper code
[x] All file reads must happen in selectObjects. Rename readFile to load. load reads a file and adds it to the object list. The load in Project can be deleted.
[x] Make proper create vs get methods for Factory classes and search methods for classes in the UMLProject and ClassWrapper.
[x] Remove access to public attributes. Abstract away theFeature, theClass, theGraph with just get(). For theSystem, there's no need to pass it. Move theSystem to the UMLClassWrapper temporarily